如果只用于原始SQL,那么SQL炼金术性能如何?

2024-06-16 14:51:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我打算在Django项目中使用非常简单的原始SQL。 示例:

SELECT name,doc_id,doc_content,creation_date from doc_table where uid = 'xxx' limit 1 ;

主要要求:

  • 易于执行SQL查询和获取数据—例如,如果我使用MySQLdb,我不想重复通过游标执行查询,然后处理元组以获取所需数据的字典。

  • 防止SQL注入和数据的正确转义。

有两种选择

a)使用SQLAlchemy,即使仅用于原始SQL。

b)使用写在MySQLdb上的包装器,或者写一个。

我倾向于使用SQLAlchemy,因为我读了很多关于它的好东西。

如果我只打算将它用于简单的原始SQL,那么与更简单的MySQLdb包装器相比,使用SQLAlchemy是否会有显著的性能开销(例如CPU使用率、内存使用率)。所有其他的SQLAlchemy电池都没有多大用处。


Tags: 数据项目djangonameid示例sqldate
1条回答
网友
1楼 · 发布于 2024-06-16 14:51:14

根据要求,将评论作为答案发布:

请看Why is SQLAlchemy insert with sqlite 25 times slower than using sqlite3 directly?的答案。虽然不是mysql,但是Mike发布了一个性能测试的示例代码,您可以将其应用到mySQL的案例中,并扩展为包含所有CRUD操作。从发布的结果中,我可以得出结论,当只使用SQLAlchemy Core时,不应该有任何显著的性能下降。

再看看另一个答案Is SQLAlchemy still recommanded if only used for raw sql query?

相关问题 更多 >