百万以上数据时数据库的检索
程序员文章站
2022-05-07 20:33:03
...
百万以上数据时数据库的检索 当数据库中数据很少时,基本不用考虑速度问题。 www.2cto.com 但是当数据量到了百万条的级别时,速度就很成问题了。 本人初学者,有以下经验。 方法一: 在要检索的列上添加索引,例如用mysql时主键是自动有索引的,非主键也可以
百万以上数据时数据库的检索
当数据库中数据很少时,基本不用考虑速度问题。
www.2cto.com
但是当数据量到了百万条的级别时,速度就很成问题了。
本人初学者,有以下经验。
方法一:
在要检索的列上添加索引,例如用mysql时主键是自动有索引的,非主键也可以加索引。
对于没有在检索列上设索引和在检索列上设索引的速度,我的测试结果是当数据库用有500000的数据时,检索速度提高了100倍。
插入的速度不大受数据量的影响。
索引的具体原理还不是很清楚,但是有一点是知道的,就是建立索引以后避免了扫描整个数据库进行检索。
可以想象加入了一些类似折半查找等方法。
方法二: www.2cto.com
对于本机操作,而且不是很频繁的检索时,
把所有数据用select * from table 的方式放到变量里,也就是内存里,速度也是很快的。
对于数据不是太长的表,比如每行有30个字符,百万条的全表读取也就不到半分钟,
到了内存以后就可以很快速地处理了。
用带有hash表功能的容器,检索还是非常快的。
推荐阅读
-
解决SQL2005备份数据库.dat或bak还原时的结构错误的解决方法
-
用DS配置oracle数据库时,使用和客户端相同的账号导致的问题
-
关于各种数据库 Insert时同时取到Id的操作_MySQL
-
mysql下普通用户备份数据库时无lock tables权限的解决方法
-
NaviCat连接时提示"不支持远程连接的MySql数据库"解决方法
-
mysql下普通用户备份数据库时无lock tables权限的解决方法
-
MYSQL数据库导入数据时出现乱码的解决办法
-
NaviCat连接时提示"不支持远程连接的MySql数据库"解决方法
-
微信昵称带符号导致插入MySQL数据库时出错的解决方案
-
MYSQL数据库导入数据时出现乱码的解决办法