楼主: cyt2005

帮忙mysql 语句调优

[复制链接]
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
51#
发表于 2008-1-22 12:35 | 只看该作者
若真的是很多数据...就可以考虑使用Limit  n,m
我一开始没理解意思..很抱歉..但是这样就需要修改程序了....

索引还是要的..毕竟存储的数据具有 ...随机与偶然性.... 当真的数据量全在80%方面若数据量大可以过滤掉20%..效果也不错...


LZ...说的全表扫描...因为你表连接多..10k,100k可能好说..若达到了1000K甚至更多..全表扫描就可能会造成死锁的发生了...


我公司的MSSQL就是因数据量在10000K....但是没索引.....不知道之前的DBA是怎么想的..还是才用分表的方式.20张表....但是有张表中数据量最大....

经常会因扫描这张表而导致死锁的发生.......我创建了有效的索引..就没问题了...


所以全表扫描..是指数据量少的表..可以考虑..还可能比使用索引快

使用道具 举报

回复
招聘 : Java研发
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
52#
发表于 2008-1-22 13:13 | 只看该作者
原帖由 jinguanding 于 2008-1-22 12:35 发表
若真的是很多数据...就可以考虑使用Limit  n,m
我一开始没理解意思..很抱歉..但是这样就需要修改程序了....

索引还是要的..毕竟存储的数据具有 ...随机与偶然性.... 当真的数据量全在80%方面若数据量大可以过滤掉20%..效果也不错...
存储的数据具有随机与偶然性,正因为如此,可能导致尽管你只需要80%的数据,却必须扫描100%的数据块(尽管你走索引),也正因为如此索引扫描时会随机读

索引访问随机读(除非你去索引覆盖),而全表访问是顺序读(通常还能多块读),在总扫描数据块相当的情况下自然全表扫描效率更高





LZ...说的全表扫描...因为你表连接多..10k,100k可能好说..若达到了1000K甚至更多..全表扫描就可能会造成死锁的发生了...


我公司的MSSQL就是因数据量在10000K....但是没索引.....不知道之前的DBA是怎么想的..还是才用分表的方式.20张表....但是有张表中数据量最大....

经常会因扫描这张表而导致死锁的发生.......我创建了有效的索引..就没问题了...


所以全表扫描..是指数据量少的表..可以考虑..还可能比使用索引快

全表扫描相对索引扫描快不快不是看表的数据量大小,而应该看所需扫描的数据量占总数据量的大小

同上,为了看得清楚直接引用编辑,勿怪

使用道具 举报

回复
论坛徽章:
14
会员2007贡献徽章
日期:2007-09-26 18:42:10生肖徽章2007版:鸡
日期:2009-10-29 16:15:30生肖徽章2007版:兔
日期:2009-04-14 19:32:34生肖徽章2007版:猴
日期:2008-11-28 10:39:32奥运会纪念徽章:摔跤
日期:2008-08-12 10:59:32奥运会纪念徽章:艺术体操
日期:2008-08-07 09:43:42奥运会纪念徽章:举重
日期:2008-05-04 17:12:35生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:牛
日期:2008-01-02 17:35:53生肖徽章2007版:虎
日期:2008-01-02 17:35:53
53#
 楼主| 发表于 2008-1-22 17:06 | 只看该作者
呵呵
下午太忙刚看大家的回复
感谢大家的回复哈学到不少东西

目前能调的也就这样了
实在不行就拆分表吧,前提是拆的合理点~

使用道具 举报

回复
论坛徽章:
52
2015年新春福章
日期:2015-03-06 11:57:312012新春纪念徽章
日期:2012-02-13 15:12:252012新春纪念徽章
日期:2012-02-13 15:12:25生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:33:22生肖徽章2007版:龙
日期:2012-02-07 10:32:552012新春纪念徽章
日期:2012-02-07 09:59:35
54#
发表于 2008-1-22 21:51 | 只看该作者
LZ: 拆分表话,那你就换成存储过程..应用程序就只需要简单改下就可以了

使用道具 举报

回复
论坛徽章:
40
生肖徽章2007版:马
日期:2008-04-07 19:43:48管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:092012新春纪念徽章
日期:2012-02-13 15:08:09马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
55#
发表于 2008-1-23 09:12 | 只看该作者
我们现在的文章和图片表单个表增长很快。而且是MYISAM类型的。现在考虑用MERGE类型了。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表