2 justjavac JustJavaC 于 2013.10.19 17:47 提问

2000万条开房数据,如何快速查询(数据库优化)

某酒店泄漏 2000 万条数据。http://kfxx.info/

如何快速查询某个姓名的全部记录。

姓名不是唯一的,有可能重名。

csv 格式数据大概 3G 大小,如果导入数据库中,大概1.5G(MySQL),而且 2000万也不是个小数目。

51个回答

ygycomon
ygycomon   Rxr 2013.10.21 09:46
已采纳

索引啊,这还有什么好想的,如果你知道表结构的话,如果没有导数据库,放在linux上用cat | grep也可以

如果你舍得花时间,你可以把数据整个重构一遍,按照姓名或者其他的查询字段做分表,这样查询起来更快,如果直接用导入的csv文件的话就没办法了,只能直接索引

avi9111
avi9111 1张图片的数据量几乎都比你2000万条数据多了,没见过1.5G的图片么?几百M该见过了吧,加载到内存那是秒秒钟的事情,1是加载内存没问题,而且索引只是快速定位用的,所以2是索引跟内存加载没什么太大关系吧
大约 3 年之前 回复
huiyuanzaixian
huiyuanzaixian 索引当然是很自然我们能想到的查询优化方法,,可是如果数据量非常大,无法一次 性载入全部载入内存,又该怎么办?
大约 3 年之前 回复
loserss
loserss   2014.12.29 10:16

索引处理,配合表分区处理

a576699534
a576699534   2015.02.03 23:46

只是查找的话就用社工库的查询工具http://www.weigongkai.com/

fredrickhu
fredrickhu   Ds   Rxr 2014.11.18 09:24

还是在姓名字段加上合适的索引 并将你所感兴趣的列用INCLUDE包含在内。

laijieyao
laijieyao   2014.11.18 09:48

求数据 ,(答案输入的字符不够10提示就好了,帮我删我输入的内容干嘛)

j754379117
j754379117   2014.11.18 16:17

在姓名字段建立索引,速度提高不是一点点,本人已经将2000w数据进行导入测试,亲测可行!

j754379117
j754379117   2014.11.18 16:17

在姓名字段建立索引,速度提高不是一点点,本人已经将2000w数据进行导入测试,亲测可行!

91program
91program   Ds   Rxr 2014.11.18 19:08

如果要支持模糊查询,简单的索引就不行了。但是无论如何,采用索引是一种解决的方法。

zhangxiangDavaid
zhangxiangDavaid   2014.11.19 10:49

最快的是全部载入内存

gbj_2010
gbj_2010   2014.11.19 11:08

可以利用redis数据库,把mysql的数据都写入到redis中,在利用reids查询,效率非常高,只不过在写入的时候费一些时间

huiyuanzaixian
huiyuanzaixian 你的意思是说把数据库中的数据全部写入到redis中?这个工作量都有点大,更何况要再上面做查询优化?
大约 3 年之前 回复
共51条数据 1 3 4 ... 尾页
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!