加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

MySQL全球服务器排名及常见优化方法

发布时间:2018-10-06 12:12:24 所属栏目:业界 来源:今日头条
导读:副标题#e# 【新品产上线啦】51CTO播客,随时随地,碎片化学习 编程语言排行榜中Oracle、MySQL 、Microsoft SQL Server 长期霸占着前三的位置,MySQL稳居第二。 在市场竞争定位上,MySQL产品被主要定位于三大领域:Web、Telecom和Embed。 许多我们了解的和不

如果您真的需要随机显示你的结果,有很多更好的途径去实现。诚然这需要写更多的代码,但是能避免性能瓶颈的出现。问题在于,MySQL可能会为表中每一个独立的行执行BY RAND()命令(这会消耗处理器的处理能力),然后给你仅仅返回一行。

  1. // what NOT to do: 
  2.  
  3. $r = mysql_query("SELECT username FROM user ORDER BY RAND() LIMIT 1"); 
  4.  
  5. // much better: 
  6.  
  7. $r = mysql_query("SELECT count(*) FROM user"); 
  8.  
  9. $d = mysql_fetch_row($r); 
  10.  
  11. $rand = mt_rand(0,$d[0] - 1); 
  12.  
  13. $r = mysql_query("SELECT username FROM user LIMIT $rand, 1"); 

七 、尽量避免SELECT *命令

从表中读取越多的数据,查询会变得更慢。他增加了磁盘需要操作的时间,还是在数据库服务器与WEB服务器是独立分开的情况下。你将会经历非常漫长的网络延迟,仅仅是因为数据不必要的在服务器之间传输。

  1. 始终指 定你需要的列,这是一个非常良好的习惯。 
  2.  
  3. // not preferred 
  4.  
  5. $r = mysql_query("SELECT * FROM user WHERE user_id = 1"); 
  6.  
  7. $d = mysql_fetch_assoc($r); 
  8.  
  9. echo "Welcome {$d['username']}"; 
  10.  
  11. // better: 
  12.  
  13. $r = mysql_query("SELECT username FROM user WHERE user_id = 1"); 
  14.  
  15. $d = mysql_fetch_assoc($r); 
  16.  
  17. echo "Welcome {$d['username']}"; 
  18.  
  19. // the differences are more significant with bigger result sets 

八、 从PROCEDURE ANALYSE()中获得建议

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读