100万量级数据库如何高效用MySql查询
程序员文章站
2022-06-17 21:12:35
首先,直接给出一个方案:建立索引!!!conn = sqlite3.connect('data.db') #连接数据库c = conn.cursor()sql0 = 'CREATE INDEX index_User ON User (userid)' #建立索引c.execute(sql0)conn.close()为要使用的sql语句中涉及的表和列建立索引:CREATE INDEX index_name ON table_name (column_list)CREATE U...
首先,直接给出一个方案:建立索引!!!
conn = sqlite3.connect('data.db') #连接数据库
c = conn.cursor()
sql0 = 'CREATE INDEX index_User ON User (userid)' #建立索引
c.execute(sql0)
conn.close()
为要使用的sql语句中涉及的表和列建立索引:
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)
用以下语句查看索引:
show index from tblname;
用以下语句删除索引:
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
最后,索引建立一次就成功啦,也就是说,在python代码中运行一次就ok了。
之后运行程序就直接注释掉就好了
索引速度提升的不止一点快:721.xx s 到 0.4xxxx s
—————————————下面是探索过程的废话,走的弯路的废话——————————————
(大家大可不用看)
1.考虑将db文件转为csv,进行本地读取、联合
问题:我觉得这样和读取db没大差别…
2.将db转为pandas的dataframe,相当于读入内存
问题:多表多条件的联合查找真的弄死我x
本文地址:https://blog.csdn.net/qq_36148333/article/details/107314962