关于mysql千万数据做查询优化

早起的虫儿被鸟吃 发布于 2017/01/05 10:43
阅读 1K+
收藏 0

新人小菜鸟一枚,当时建表的时候也没有想到这些。现在java程序一直在跑,往数据库插入数据(每一秒插入一条甚至多条数据)。几十万条的时候还没什么感觉,最近做查询的时候,顿时SB了,做一次查询要崩溃。。。现在想请教有没有专业DBA大大,可以给个建议,怎么做优化,数据库是建在linux服务器上的。昨天了解了下infobright,可是它不能插入数据,然后kdb+好像百度上不多,所以自己也不懂。。现在请教下,怎么能够解决这个查询速度了。。在线等,有建议的帮忙下,谢谢啊

加载中
2
大賢者
大賢者
查询limit ,不然数据返回海量。就算limit,达到百万级别也会慢,就要拆分
早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @张凯乐 : 恩,我试试。。谢谢
早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @黑狗 : 恩恩
张凯乐
张凯乐
回复 @早起的虫儿被鸟吃 : 可以考虑分表,或使用临时表对大数据表进行查询优化
黑狗
黑狗
回复 @早起的虫儿被鸟吃 : 你没有明白人家说的意思 你把你的sql后面加上: limit 10 速度就快了
早起的虫儿被鸟吃
早起的虫儿被鸟吃
现在数据库已经有几百万数据了,还在源源不断的插入,具体怎么拆分呢?并不了解数据库这块
1
魔力猫
魔力猫
先整理好自己到底要问什么,然后谈咨询费问题。
早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @魔力猫 : 我也是这样觉得的。。可惜我不是老板。
魔力猫
魔力猫
回复 @早起的虫儿被鸟吃 : 我给你的建议是,招聘DBA,起码也是临时劳务合作找一个。或者请专门的咨询公司协助出优化方案。论坛上是没法解决你们的问题的,因为从你的描述看,你们根本就没有概念,底下不定埋了多少雷。你说要快,那么多快算快?改进方案怎么设计实施,成本能负担多少?这都是必须得。
早起的虫儿被鸟吃
早起的虫儿被鸟吃
就是提高查询速度
1
eechen
eechen
一千万行数据的InnoDB表,包含索引的数据的ibd文件大小应该也有4个GB吧. 你要一下子查询全表数据,要快,那可以考虑把 innodb_buffer_pool_size 也设为4个GB. 磁盘IO不繁忙,速度自然就快了,否则时间都消耗在磁盘寻道和读取上了.
乌龟壳
乌龟壳
回复 @eechen : 好的
eechen
eechen
回复 @乌龟壳 : 不是Linux内核AIO实现得很水,而是人家就是为了数据库应用才开发AIO的,代码贡献者主要就是Oracle.
乌龟壳
乌龟壳
回复 @eechen : 我去,查了下资料,mysql确实不用file cache,因为Linux下的aio实现得很水,绕过了file cache。只能通过提高buffer size降低对磁盘的压力
eechen
eechen
回复 @乌龟壳 : MySQL不用文件系统缓存那一套的,而是通过Linux AIO(libaio)实现DirectIO的.
乌龟壳
乌龟壳
回复 @eechen : 这和swap没关系,是file cache,是内存。
下一页
0
OSC闲人
OSC闲人

sql都没贴出来,让我们怎么帮?

建议从索引入手

早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @北极心 : 恩,其实也不是很懂,不是这一块的
早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @华淫雄 : 恩,也做了,发现也好慢。。数据太多了
早起的虫儿被鸟吃
早起的虫儿被鸟吃
回复 @成熟的毛毛虫 : 可以在已有的数据上进行分区分表查询是么。。不是很懂数据库,现在让我优化下,增加查询速度
OSC闲人
OSC闲人
@早起的虫儿被鸟吃 如果结果不是要全部返回,可以加limit
市委书记李达康
市委书记李达康
回复 @早起的虫儿被鸟吃 : 要什么,就查什么字段
下一页
0
xixilive
xixilive

要结合业务特点, 首先在存储上做不同的策略, 好的存储结构也是优化查询的开始, 毕竟最有的O(n)也有其极限. 优化的核心思想是化整为零, 分而治之.

早起的虫儿被鸟吃
早起的虫儿被鸟吃
开始的时候没有考虑好。。太年轻。。囧
0
程序兵
程序兵
先从查询语句开始优化,然后做索引,这些做好了千万的数据跑起来还是没什么问题的
早起的虫儿被鸟吃
早起的虫儿被鸟吃
查询语句主要还是全部查的。
0
mark35
mark35
select *  读取输出全表不慢才怪
早起的虫儿被鸟吃
早起的虫儿被鸟吃
需要啊。。囧
0
Tuesday
Tuesday
 不是查询慢, 是显示慢.. 
早起的虫儿被鸟吃
早起的虫儿被鸟吃
为什么。。
0
kevinpan45
kevinpan45
优化从减少数据开始,很多都是没用的数据。对于不常用的内容可以按业务形成统计数据
早起的虫儿被鸟吃
早起的虫儿被鸟吃
。。就是想提高查询效率而已
0
stu51
stu51
上solr或ES
早起的虫儿被鸟吃
早起的虫儿被鸟吃
那又是什么。我去了解了解
返回顶部
顶部