- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
以下文章由影视网收集与提供 Mysql数据库优化技术 — 索引篇.txt时尚,就是让年薪八千的人看上去像年薪十万。我们总是要求男人有孩子一样的眼神,父亲一样的能力。一分钟就可以遇见一个人,一小时喜欢上一个人,一天爱上一个人,但需要花尽一生的时间去忘记一个人。(七)表的优化 1. 选择合适的数据引擎 MyISAM:适用于大量的读操作的表 InnoDB:适用于大量的写读作的表 2.选择合适的列类型 使用 SELECT * FROM TB_TEST PROCEDURE ANALYSE()可以对这个表的每一个字段进行分析,给出优化列类型建议 3.对于不保存NULL值的列使用NOT NULL,这对你想索引的列尤其重要 4.建立合适的索引 5.使用定长字段,速度比变长要快 (八)建立索引原则 1.合理使用索引 一个Table在一次query中只能使用一个索引,使用EXPLAIN语句来检验优化程序的操作情况 使用analyze帮助优化程序对索引的使用效果做出更准确的预测 2.索引应该创建在有哪些信誉好的足球投注网站、排序、归组等操作所涉及的数据列上 3.尽量将索引建立在重复数据少的数据列中,唯一所以最好 例如:生日列,可以建立索引,但性别列不要建立索引 4.尽量对比较短的值进行索引 降低磁盘IO操作,索引缓冲区中可以容纳更多的键值,提高命中率 如果对一个长的字符串建立索引,可以指定一个前缀长度 5.合理使用多列索引 如果多个条件经常需要组合起来查询,则要使用多列索引(因为一个表一次查询只能使用一个索引,建立多个单列索引也只能使用一个) 6.充分利用最左前缀 也就是要合理安排多列索引中各列的顺序,将最常用的排在前面 7.不要建立过多的索引 只有经常应用于where,order by,group by中的字段需要建立索引. 8.利用慢查询日志查找出慢查询(log-slow-queries, long_query_time) (九)充分利用索引 1.尽量比较数据类型相同的数据列 2.尽可能地让索引列在比较表达式中独立, WHERE mycol 4 / 2 使用索引,而WHERE mycol * 2 4不使用 3.尽可能不对查询字段加函数, 如WHERE YEAR(date_col) 1990改造成WHERE date_col ’1990-01-01’ WHERE TO_DAYS(date_col) - TO_DAYS(CURDATE()) cutoff 改造成WHERE date_col DATE_ADD(CURDATE(), INTERVAL cutoff DAY) 4.在LIKE模式的开头不要使用通配符 5.使用straight join可以强制优化器按照FROM子句的次序来进行联结,可以select straight join,强制所有联结,也可以select * from a straight join b强制两个表的顺序. 6.使用force index强制使用指定的索引.如 select * from song_lib force index(song_name) order by song_name比不用force index效率高 7.尽量避免使用MySQL自动类型转换,否则将不能使用索引.如将int型的num_col用where num_col=‘5’ (十)SQL语句的优化 1.创建合适的统计中间结果表,降低从大表查询数据的几率 2.尽量避免使用子查询,而改用连接的方式.例如: SELECT a.id, (SELECT MAX(created) FROM posts WHERE author_id = a.id) AS latest_post FROM authors a 可以改成: SELECT a.id, MAX(p.created) AS latest_post FROM authors AS a INNER JOIN posts p ON (a.id = p.author_id) GROUP BY a.id select song_id from song_lib where singer_id in (select singer_id from singer_lib where first_char=A ) limit 2000改成: select song_id from song_lib a inner join singer_lib b on a.singer_id=b.singer_id and first_char=A limit 2000 3.插入判断重复键时,使用ON DUPLICATE KEY UPDATE : insert into db_action.action_today(user_id,song
有哪些信誉好的足球投注网站
文档评论(0)