这事必须高手解决了,mysql性能优化
时间:2011-11-24
来源:互联网
大家好
我现在有个需求,就是有个论坛。
论坛要统计各个地区看各种帖子的人数
我现在有一个表,表结构
ID 主键
region 区域
contrey 国家
lang 语言
count 读取的人数
现在我要统计在这个区域下某个区域某个语言的所有人数
我的sql文是
select sum(*) from tablename where region = 6 and contrey = "cn" and lang in ("111111","22222","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333")
在in中的元素是不定的,是从页面中选出来的最多的时候是3500多个
数据库中这个表有8w条数据
现在用上面的方法(in)很慢,应该在10秒左右,接受不了啊
还希望大家帮忙啊。
对了我用的是mysql
我现在有个需求,就是有个论坛。
论坛要统计各个地区看各种帖子的人数
我现在有一个表,表结构
ID 主键
region 区域
contrey 国家
lang 语言
count 读取的人数
现在我要统计在这个区域下某个区域某个语言的所有人数
我的sql文是
select sum(*) from tablename where region = 6 and contrey = "cn" and lang in ("111111","22222","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333","33333")
在in中的元素是不定的,是从页面中选出来的最多的时候是3500多个
数据库中这个表有8w条数据
现在用上面的方法(in)很慢,应该在10秒左右,接受不了啊
还希望大家帮忙啊。
对了我用的是mysql
作者: gaoqingbo2009 发布时间: 2011-11-24
lang 上建立索引
region、contrey字段有多少种值?如果多,可以建立
lang、region、contrey复合索引
region、contrey字段有多少种值?如果多,可以建立
lang、region、contrey复合索引
作者: wwwwb 发布时间: 2011-11-24
我估计在lang上建索引的效果不大,甚至会产生反效果,更慢。
因为从表的结构来看,region 区域、contrey 国家、lang 语言三列肯定是大量的重复,我估计都不会超过50个种类。那从索引的原理看,这都是属于不适合建索引的列。
建联合索引可能会好点。楼主表中:count 读取的人数,这一列是什么意思啊?
你说“在in中的元素是不定的,是从页面中选出来的最多的时候是3500多个”,这3500多个都是不同的值吗?这点比较关键。不过我看你给的例子,很多雷同啊。
因为从表的结构来看,region 区域、contrey 国家、lang 语言三列肯定是大量的重复,我估计都不会超过50个种类。那从索引的原理看,这都是属于不适合建索引的列。
建联合索引可能会好点。楼主表中:count 读取的人数,这一列是什么意思啊?
你说“在in中的元素是不定的,是从页面中选出来的最多的时候是3500多个”,这3500多个都是不同的值吗?这点比较关键。不过我看你给的例子,很多雷同啊。
作者: jiahehao 发布时间: 2011-11-24
就sql语句本身看在lang、region、contrey建复合索引即可。
具体要看你整个应用对这个表的使用,和对应sql的使用是否频繁再做出决策。
具体要看你整个应用对这个表的使用,和对应sql的使用是否频繁再做出决策。
作者: wfevgch 发布时间: 2011-11-24
1) create index xxx on tablename(region,contrey,lang)
2) 优化一下这个in后的数据,太多重复的 "33333" 不如 in ("111111","22222","33333")效率高。
2) 优化一下这个in后的数据,太多重复的 "33333" 不如 in ("111111","22222","33333")效率高。
作者: ACMAIN_CHM 发布时间: 2011-11-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28