我有10 GB的MYSQL数据。它在12列中只有字符串和int值。我用它来搜索字符串/int值。例如"SELECT * FROM hugesql WHERE column12 LIKE 'dataexample'"
我用的是Windows,我用XAMPP来处理它。Phpmyadmin在几秒内就返回结果。
我决定使用sqlite而不是mysql/phpmyadmin。然后,我将其导出并使用sqlite3.exe转换为sqlite db。
我用“DB Browser for SQLite”和“SQL Studio”打开了sqlite文件,查询了sql代码,但搜索速度明显比phpmyadmin慢,几秒比1分钟。然后,我在python中使用sqlite3模块,结果没有改变。
有什么建议吗?它对SQLite正常吗?
2条答案
按热度按时间qvk1mo1f1#
SQLite并不比MYSQL差,可以轻松处理10GB的数据。但是,您需要确保您的sqlite文件位于本地驱动器上,而不是在网络共享中。否则,需要通过网络从文件中移动大量数据,这将使10GB数据的速度变慢。
为查询创建适当的索引。对于您提供的示例查询,您需要在column12上创建索引。
每个索引只需要创建一次。即使在表中插入或更新数据,它也会自动更新。
u0njafvf2#
SQLite 2.7.6的大多数常见操作通常比MySQL 3.23.41快(有时快两倍以上),SQLite执行CREATE INDEX或DROP TABLE的速度不如其他数据库。
我不是那么专业,但我建议使用MySQL而不是SQLite来满足您所描述的需求
但是我更喜欢使用No-SQL数据库,因为它们非常高效,如果你愿意继续使用No-SQL的话。
这是SQL数据库的一个巨大缺点,随着数据的增长,它们会降低性能。