A. 千万级数据库多表查询解决方案
启用缓存 可以大大缩短时间和提高效率!
B. mysql千万级数据update怎么优化
提问:何设计或优化千万级别表外其信息觉题点范简单说该何做于存储设计必须考虑业务特点收集信息:
1.数据容量:1-3内概少条数据每条数据概少字节;
2.数据项:否字段些字段值否经更新;
3.数据查询SQL条件:哪些数据项列名称经现WHERE、GROUP BY、ORDER BY句等;
4.数据更新类SQL条件:少列经现UPDATE或DELETE WHERE句;
5.SQL量统计比:SELECT:UPDATE+DELETE:INSERT=少
6.预计表及相关联SQL每总执行量何数量级
7.表数据:更新主业务 查询主业务
8.打算采用数据库物理服务器及数据库服务器架构
9.并发何
10.存储引擎选择InnoDBMyISAM
致明白10问题至于何设计类表应该都清楚
至于优化若指创建表能变表结构建议InnoDB引擎利用点内存减轻磁盘IO负载IO往往数据库服务器瓶颈
另外优化索引结构解决性能问题建议优先考虑修改类SQL语句使更快些已靠索引组织结构式前提 索引已经创建非若读主考虑打query_cache 及调整些参数值:sort_buffer_size,read_buffer_size,read_rnd_buffer_size,join_buffer_siz
更信息参见:
MySQL数据库服务器端核参数详解推荐配置
纸谈兵说我思路及我解决抛砖引玉
我近解决问题
我现公司三张表5亿数据每张表每增量100w
每张表概10columns左右
面我做测试比
1.首先看engine,数据量情况没做区情况
mysiam比innodb读情况效率要高13%左右
2.做partition读mysql官文档其实于partition专门myisam做优化于innodb所数据存ibdata面所即使看schema变其实没本质变化
区于同physical disk面情况提升概1%
区同physical disk我三同disks提升概3%其实所谓吞吐量由素决定比explain parition候看record区每区都其实本质没解决读问题提升写效率
另外问题于区张表三column都经用于做查询条件其实件悲惨事情没办所sql做针性区mysql官文档说间做区且用间查询恭喜
3.表主要用读写其实问题充应该问写入候同并发查询我问题比较简单mongodb shredding支持能crushmysql所通情况9am-9pm写入情况候我做 viewview基于近插入或者经查询通做view离读取说写table读进行逻辑判断前view操作
4做些archive table比先些表做已统计析通已析+增量解决
5用mysiam问题要注意.configure候加max index length参数候record数于制定度候indexdisable
C. 怎么样提高千万级SQL数据库查询速度
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20
5.in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
6.下面的查询也将导致全表扫描:
select id from t where name like '%abc%'
若要提高效率,可以考虑全文检索。
D. sql server 到底能否处理百万级,千万级的数据
sql server 到底能否处理百万级,千
最近又想起曾经被忽悠过n 次的问题。
刚毕业的时候,很多次去面试的时候被问及sql server 能处理能力,
以及上百万级别的数据的优化问题?我当然是说东又扯西的,说了一大堆方法
我吹你吹了半天后,得到的提问着告诉我的很轻描淡写的答案是:不行,
sql server 不行,百万级别还是换oracle 好。
我当时总是很茫然的接受答案。因为我没玩过,我没发言权。(但是我搞
的缘由?是到今日,自己面试别人了,也还是不明白当时那些面试官的心态。)
。。。。。。两年时间过去了。。。。。。
我很有幸在一个小门户(其实也还好,不是那么小了),玩过百万级的数
据了。真是很荣幸还能玩到bbs 库这样的实时操作比较多的库。
当我再一次在面试中被问到sql server 的处理能力的时候,我能很有底
气的告诉他们sql server 能承受百万级别的处理能力,我也实践证明了它能。
这时候面试官总是表现得思维很敏捷,问题又很快出来了,处理千万级别的数
做。 我再次追问面试官给出的答案当然还是无情的否认了sql server。
。。。。。又两年时间过去了。。。。。。
目前又有幸玩门户的bbs,记录是过亿的。每天这过亿记录的表的查询次
数过了千万,我当然现在没有去面试,但是我还是真心的在这里希望不要碰到
问我sql server 处理百亿级,千亿级的数据的性能问题,更不希望告诉我答案
是换oracle。
sql server 我真为它难过。在这里我要为sql server 平反也想在此也问问各
位,目前用sql server 处理数据的级别和对它的看法,当然也可以评论下其他
人对sql server 的看法。
E. SQL千万级数据库模糊查询问题
%开头的模糊查询是没有办法使用索引的,怎么优化都没有用。
一个建议,就是分析字段的含义,以及典型的查询需求,把这个字段拆分为多个独立字段,分别建立索引,这样查询才爽。例如你这个数据,看起来是‘年月日时分秒’的格式,可以把这些信息分散到年、月、日这样的字段里面,就可以模糊查询所有年度的【月】或者类似的复杂组合——需要模糊的内容不写在WHERE里面即可。
F. mysql 千万级数据库如何进行多张结构相同的表联合查询如何优化或设置提高查询速度
我也遇到相同的问题,我的环境是MS SQL
[email protected]
G. Mysql 千万级数据量插入和查询应该怎么优化
mysql
千万级数据量插入和查询应该怎么优化
大数据库优化sql,索引,横向纵向切割!多库,主从,读写分离