欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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