网站大量收购独家精品文档,联系QQ:2885784924

MysQL使用技巧.docVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MysQL使用技巧.doc

MysQL使用技巧: A、给信息添加索引 B、不要给所有的信息都添加索引 C、使用基准测试 D、减少查询量,只获取你需要的信息 @数据分页/数据分块 检索使用limit @不要使用select * @如果一个更长的查询更加高效,则需要谨慎使用大量的短查询 E、使用explain描述查询执行计划 F、使用慢速查询日志(总是要开启它!) G、你已经使用了或者有可能使用group by就不要使用distinct H、使用恰当的数据分割 以集群为例,需要使用集群之前就要把集群考虑进去 I、insert的性能 批量insert以及replace 使用load data取代insert J、limit m ,n 并不像看起来那样快 K、如果你有大于2k条记录,千万不用使用ORDER BY RAND() SELECT * FROM `table` AS t1 JOIN (SELECT ROUND(RAND() * ((SELECT MAX(id) FROM `table`)-(SELECT MIN(id) FROM `table`))+(SELECT MIN(id) FROM `table`)) AS id) AS t2 WHERE t1.id = t2.id ORDER BY t1.id LIMIT 1; 最后在php中对这两个语句进行分别查询10次, 前者花费时间 0.147433 秒 后者花费时间 0.015130 秒 ****** 看来采用JOIN的语法比直接在WHERE中使用函数效率还要高很多。 随着数据量的增加,load data 与insert的执行效率越来越接近,不过还是比insert好 分文件方式可以提高load data的执行效率 对insert没有什么影响 L、 # Use SQL_NO_CACHE when you are SELECTing frequently updated data or large sets of data # 在查询经常更新的数据或者大量数据集时使用SQL_NO_CACHE # avoid wildcards at the start of LIKE queries # 在LIKE查询语句的开始部分避免使用通配符 # avoid correlated subqueries and in select and where clause (try to avoid in) # 避免使用相关子查询以及select和where分局(试着避免) # config params - # 设置参数 - # no calculated comparisons - isolate indexed columns # 无计算比较 -隔离索引列 # innodb_flush_commit=0 can help slave lag # innodb_flush_commit=0 可以避免从属滞后 # ORDER BY and LIMIT work best with equalities and covered indexes # ORDER BY以及LIMIT在同相等的以及叠加索引时一起使用时效果最佳 # isolate workloads don’t let administrative work interfere with customer performance. (ie backups) # 隔离工作内容 不要让管理员的工作影响了用户的行为 # use optimistic locking, not pessimistic locking. try to use shared lock, not exclusive lock. share mode vs. FOR UPDATE # 使用乐观锁,而不是悲观锁. 试着使用共享锁定而不是独占锁.共享模式vsFOR UPDATE # use row-level instead of table-level locking for OLTP workloads # 对于联机事务处理(OLTP)工作任务尽量使用行级锁定而不是表级锁定 # Know your storage engines and what performs best for your needs, know that different ones exist. # 了解存储引擎以及哪种引擎最符合你的需求,了解这些引擎之间的不同. * use MERGE tables ARCHIVE tables for logs * 使用MERGE表和ARCHIVE表记录日志 # Optimize for data types, use consistent

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档