我打算在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电池都没有多大用处。
根据要求,将评论作为答案发布:
请看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?
相关问题 更多 >
编程相关推荐