当前位置: 首页 > news >正文

广西网站建设贵吗越秀区网站建设

广西网站建设贵吗,越秀区网站建设,湖北外贸网站建设,英文wordpress自动更新前言现如今#xff0c;数据库的操作越来越成为整个应用的性能瓶颈了#xff0c;这点对于Web应用尤其明显。所以#xff0c;我整理了MySQL优化的几点建议#xff0c;希望这些优化技巧对您有用#xff0c;总结不到的#xff0c;欢迎大家补充。SQL执行慢的原因网络速度慢数据库的操作越来越成为整个应用的性能瓶颈了这点对于Web应用尤其明显。所以我整理了MySQL优化的几点建议希望这些优化技巧对您有用总结不到的欢迎大家补充。SQL执行慢的原因网络速度慢内存不足I/O吞吐量小磁盘空间满了等硬件问题没有索引或者索引失效数据表里的数据记录过多服务器调优及各个参数设置也可能会影响开发者编写的SQL效率其他1、EXPLAIN分析你的SELECT查询很多情况下使用EXPLAIN关键字可以让你知道MySQL是如何处理你的SQL语句的这可以帮你分析你的查询语句从而或许能尽快的找到优化方法以及潜在的性能问题。具体EXPLAIN的使用以及各个参数的含义请查阅相关文档即可。2、SELECT查询必须指明字段名SELECT * 的查询会加很多不必要的消耗(例如CPU、I/O等)同时也有可能增加了使用覆盖索引。所以SELECT查询时要求直接在后面指明需要查询的对应字段名。3、查询一条数据的时候使用 LIMIT 1减少多余的查询因为指定limit 1后查询到一条数据就不再继续查询了使得EXPLAIN中type列达到const类型查询语句更优。4、为搜索的WHERE字段建立索引一般每个表我们都会设置一个主键而索引并不一定就是给主键。如果在你的表中有某个字段你总要会经常用来做WHERE查询搜索而且是读大于写的那么请为其建立索引吧有兴趣了解更多建立索引的的原则可以查阅相关资料。5、千万不要使用 ORDER BY RAND()如果你想随机取数据也许第一个直接会告诉你用随机数取切记这个时候你必须控制你的大脑在这个方向继续想下去赶紧停止这种可怕的想法。因为这种查询对数据库的性能毫无益处(消耗CPU)。更好的方案之一是先找到数据所在的条数N然后再用LIMIT N, 1这样查询。6、保证每张表都有一个主键ID我们应该养成一种习惯每设计新建一张表的时候都应该为其设计一个ID字段并让其成为主键而且最好是INT型(也有使用UUID的)同时设置这个ID字段为自增(AUTO_INCREMENT)的标志。8、尽可能的使用 NOT NULL不要以为NULL不需要空间事实是NULL也需要额外的空间也许很多有没注意但是遇到过NULL字段在进行查询比较的时候是比较麻烦的。当然了如果你实在是必须需要NULL的话那没辙就使用吧否则的话就建议使用NOT NULL吧。8、选择合适的存储引擎在MySQL中有MyISAM和InnoDB两种存储引擎两者各有利弊所以我们需要了解两者的差异然后来做出最合适的选择例如InnoDB支持事务而MyISAM不支持MyISAM查询比InnoDB快等等总之如果你不知道选择什么的话那就用InnoDB吧。9、把IP地址存为UNSIGNED INT在遇到需要存储IP地址的时候很多人的第一想法都会是存储VARCHAR(15)字符串类型的而不会想到要用INT整型来存储如果你用整型来存储只需要4个字节并且你可以有定长的字段而且这会为你带来查询上的优势。10、尽量不要在WHERE查询时对字段进行null值判断我们都知道档我们对一个字段进行null的判断时候会比较慢的这是因为这个判断会导致引擎放弃使用所有已有的索引而进行全表扫描搜索。11、尽量不要使用%前缀的LIKE模糊查询模糊查询在日常开发中我们都会经常遇到但是我相信很多人都是直接 LIKE %key_word% 或者 LIKE %key_word 这样搜索的这两种搜索方式都会导致索引失效从而进行全表扫描搜索。如果解决上面的这种模糊查询呢答案就是使用“使用全文索引”具体的用法有兴趣的可以自己查资料一波。12、避免在WHERE查询时对字段进行表达式操作例如查询语句SELECT id FROM table WHERE num * 2 50;这样的查询对字段num做了一个乘2的算数操作就会导致索引失效。14、减少不必要的排序排序操作会消耗较多的CPU资源所以减少不必要的排序可以在缓存命中率高等I/O足够的情况下会降低SQL的响应时间。14、建议用JOIN代替子查询有的人会说JOIN的性能其实也并不是很好呀但是和子查询比起来还是有很大的性能优势的。具体的可以了解一下子查询的执行计划相关的问题。15、避免发生隐式类型转换类型转换主要是指在WHERE子句中出现字段的类型和传入的参数类型不一致的时候发生的类型转换这是因为如果我们传入的数据类型和字段类型不一致MySQL可能会对我们传的数据进行类型转换操作也可能不进行处理而直接交由存储引擎去处理这样一来就可能会出现索引无法使用的情况而造成执行计划问题。16、避免多表查询字段类型不一致在遇到需要多表联合查询的时候我们设计表结构的时候尽量保持表与表的关联字段一致并且都要设置索引。同时多表连接查询时尽量把结果集小的表作为驱动表。17、建议开启查询缓存大多数的MySQL服务器都开启了查询缓存这是提高性能最有效的方法之一因为查询缓存由MySQL数据库引擎自动处理当有很多相同的查询被执行了多次的时候这些查询结果会被放到一个缓存中这样后续的相同的查询就不用操作表而直接访问缓存结果了。18、使用UNION代替临时表UNION查询可以把两条或更多的SELECT查询结果合并到一个查询中从而不再需要创建临时表来完成。需要注意的是使用UNION的所有SELECT语句中的字段数目要相同。19、慎用IN查询IN以及NOT IN查询都要慎重因为可能会导致全表扫描而对于连续的数值能用BETWEEN就不要用IN了。20、欢迎补充结束语这主要是从查询角度去考虑优化还有一些分表、分区技术以及读写分离等以上优化之处如果说的不到位的地方请大家谅解MySQL优化的地方可以有很多处欢迎提出其他优化建议谢谢。
http://www.zqtcl.cn/news/132687/

相关文章:

  • 网站建设遇到的问题wordpress首页布局修改
  • 网站上传 404小猫mip网站建设
  • 网站的运营长春seo外包
  • 成都 网站制作购物网站建设包括哪些
  • 浅谈电子商务网站建设产品推广方案怎么做
  • 做ppt的图片素材网站北京网站制作南昌
  • 全网视频合集网站建设宏基陆通工程建设有限公司网站
  • 极捷号网站建设wordpress搬家500错误
  • 网站加友情链接app开发培训课程
  • 济南网站排名优化报价平台推广话术
  • 自己做的创意的网站短链接生成站长工具
  • 爱站网是怎么回事网站语音转写怎么做
  • 一级a做爰片免播放器网站扬中门户网
  • 舆情网站大全模板网站有哪些在哪里下载
  • 新网站关键词怎么优化深圳公司网站推广
  • 新加坡购物网站排名英文版wordpress安装
  • 哪个网站做ppt能赚钱企查查企业信息
  • 学校建设网站的意义wordpress 鸟
  • 一个ip做网站网站建设基础课件
  • 包装设计十大网站连云港网站建设开发
  • 川沙网站建设网站推广服务外包有哪些渠道
  • 哪些网站可以做招商广告手机怎么创网站免费
  • 换物网站为什么做不起来网站开发工具的功能包括
  • 引导式网站君和网站建设
  • 西柏坡门户网站建设规划书自己做照片书的网站
  • 做网站横幅的图片多大公司做自己的网站平台台
  • 百度网站建设工资给城市建设提议献策的网站
  • 如何进入网站管理页面维护网站需要多少钱
  • 深圳住房和城乡建设局网站阿里云学生免费服务器
  • 如何做的网站手机可以用吗绵阳优化网站排名