程序中写入的一行行的SQL语句,如果使用了一些优化小技巧,定能达到事半功倍的效果。

1. 优化你的MySQL查询缓存

在MySQL服务器上进行查询,可以启用高速查询缓存。让数据库引擎在后台悄悄的处理是提高性能的最有效方法之一。当同一个查询被执行多次时,如果结果是从缓存中提取,就会特别快。

但主要的问题是,它是那么容易被隐藏起来以至于我们大多数程序员会忽略它。在有些处理任务中,我们实际上是可以阻止查询缓存工作的。

// query cache does NOT work$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");// query cache works!$today = date("Y-m-d");$r = mysql_query("SELECT username FROM user WHERE signup_date >= '$today'");// query cache does NOT work$r = mysql_query("SELECT username FROM user WHERE signup_date >= CURDATE()");// query cache works!$today = date("Y-m-d");$r = mysql_query("SELECT username FROM user WHERE signup_date >= '$today'");

2. 用EXPLAIN使你的SELECT查询更加清晰

使用EXPLAIN关键字可以让你了解MySQL正在进行什么样的查询操作,这可以帮助你发现哪里出了问题。EXPLAIN查询的结果,可以告诉你那些索引正在被引用,表是如何被扫描和排序的等等。

实现一个SELECT查询(最好是比较复杂的一个,带joins方式的),在里面添加上你的关键词解释,在这里我们可以使用phpMyAdmin,他会告诉你表中的结果。举例来说,假如当我在执行joins时,正忘记往一个索引中添加列,EXPLAIN能帮助我找到问题的所在。

3. 利用LIMIT 1取得唯一行

有时,当你要查询一张表时,你知道只需要查看一行数据时。你可能会取一条十分独特的记录,或者只是刚好检查了任何存在的记录数,他们都满足了你的WHERE子句。

在这种情况下,增加一个LIMIT 1会令你的查询更加有效。这样数据库引擎发现只有1后将停止扫描,而不是去扫描整个表或索引。

4. 索引中的检索字段

索引不仅是主键或唯一键。如果你想搜索表中的任何列,你应该一直指向索引。、

5. 保证连接的索引是相同的类型

如果应用程序中包含多个连接查询,你需要确保你链接的列在两边的表上都被索引。这会影响MySQL如何优化内部联接操作。

此外,加入的列,必须是同一类型。例如,你加入一个DECIMAL列,而同时加入另一个表中的int列,MySQL将无法使用其中至少一个指标。即使字符编码必须同为字符串类型。

6. 不要使用BY RAND()命令

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

7. 尽量避免SELECT *命令

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

8. 从PROCEDURE ANALYSE()中获得建议

PROCEDURE ANALYSE()可让MySQL的柱结构分析和表中的实际数据来给你一些建议。如果你的表中已经存在实际数据了,能为你的重大决策服务。

9. 使用有准备的语句

准备好的语句,可以从性能优化和安全两方面对大家有所帮助。

准备好的语句在过滤已经绑定的变量默认情况下,能给应用程序以有效的保护,防止SQL注入攻击。当然你也可以手动过滤,不过由于大多数程序员健忘的性格,很难达到效果。

10. 为列选择合适的数据类型

选择合适数据类型,建立数据表是很重要的。能用TINYINT就不用SMALLINT,能用SMALLINT就不用INT,因为磁盘和内存消耗越小越好。

11. 其他

SQL优化方法有很多种,同样的查询结果可以使用很多种不同的查询方式。其实最好的方法就是在开发环境中用最贴近真实的数据集和硬件环境进行测试,然后再发布到生产环境中。

mysql使用技巧_MySQL使用不得不看的几个小技巧相关推荐

  1. mysql insert 运算_MySql insert插入操作的3个小技巧分享

    1.插入的数据来源自其他表 表A有id, cola 字段 表B有id, cola, colb...等字段,其中id都为主键,cola为相同名字的列 现想将表B中colb>1000的记录都插入表A ...

  2. 【技巧总结】——关于不知道放到哪里的小技巧

    [技巧总结]--关于不知道放到哪里的小技巧 折半搜索 分治 0,1,-1转化 模型转换 [ExtendingSetofPointsExtending\;Set\;of\;PointsExtending ...

  3. MySQL 常见索引的使用场景与区别(SQL小技巧)

    作者:贺禧年_码农 blog.csdn.net/weixin_46163590/article/details/106047978 一.MySQL索引类型: MySql常见索引类型有:主键索引.唯一索 ...

  4. 新手小白必看:MacBook 使用小技巧

    适合新手小编学习的MacBook使用技巧,这些小技巧可以让我们的操作更方便,尤其是快捷键的使用,可以大大提高们的工作效率,下面一起跟随macw小编来学习一下吧! 使用预览直接修改图片大小 修改图片大小 ...

  5. Word中你不得不学习的几个小技巧,让你不仅玩的溜,效率也贼高!

    作为一名合格的职场人,我们不仅要学会word中各种基础知识,当然也要效率,今天我们就来学习一下word中有哪些必备的小技巧,快来一起学习哦! 手机号中间设为"*"号 全选我们需要设 ...

  6. 苹果手机怎么用计算机看别人密码,各种小技巧,带你玩转iPhone手机

    原标题:各种小技巧,带你玩转iPhone手机 一. 苹果手机隔空投送 首先打开手机的隔空投送功能,在相册选择图片或视频,在隔空投送栏,选择要发送的手机,然后在另外一台手机上接受就可以了.(不需要流量, ...

  7. java程序阅读技巧_Java程序员阅读源码的小技巧,原来大牛都是这样读的,赶紧看看!...

    1.Quick Type Hierarchy 快速查看类继承体系. 快捷键:Ctrl + T 查看类很多人可能都知道,可源码阅读的时候更多用来查看方法体系更重要,可以方便快速的定位到方法的实现类.如: ...

  8. word文档怎么到下一页去写_「word技巧」懂得这几个word排版小技巧,还怕效率不高?...

    熟能生巧.作为一名职场人,使用word是不可避免的.Word玩得遛,工作效率就提高了.不过想要把word玩得遛,掌握一些技巧必不可少. 今天就来看看word排版上经常要用到的几个小技巧. 一.好用的F ...

  9. Microsoft Office Word使用技巧(各种报告论文排版可能需要的小技巧)

    这几年用word写各种报告论文,每每总能发现word的新大陆(写报告的时候太无聊了word都能玩起来),遂记录一下,有时候有些功能若是不知道,百度都不知道搜什么就很尴尬,我时常称奇,原来word还可以 ...

最新文章

  1. 在Service中通过WindowManger添加View的方式来把UI界面显示出来
  2. 北斗词卡(三):带你了解北斗相关的国际组织缩写
  3. 有关identity的小技巧
  4. 安检X光机下的春运归家图 宛如一幅幅水彩画
  5. .netcore 开发的 iNeuOS 物联网平台部署在 Ubuntu 操作系统,无缝跨平台
  6. linux环境OpenRASP使用教程,集成openRASP与攻击测试
  7. 内网通不用软件改积分_软件项目为什么不能够如期交付?
  8. @程序员,CSDN卫衣、背包、鼠标垫......福利来啦!!!
  9. 修改服务器的AJP监听地址,修改服务器的AJP监听地址
  10. Python Selenium之异常处理
  11. AngularJS scope 作用域的问题
  12. AndroidStudio遇到的问题
  13. HTML5七夕情人节表白网页制作【一生守护】HTML+CSS+JavaScript
  14. 34个漂亮的应用程序后台管理界面分享
  15. js随机飘动的广告图片代码demo效果示例(整理)
  16. python数据分析中data_dict={h:v for h,v in zip(header,zip(header,zip(*value)}的含义
  17. 执行 taro init myApp 报错 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\taro.ps1
  18. 遥控汽车网页小游戏html源码
  19. python最小二乘法拟合实例
  20. 微信公众号平搜索排名,如何让公众号搜索排名靠前,公众号文章关键词排名规则

热门文章

  1. sorl6.0+jetty+mysql搭建solr服务
  2. mysql常规使用(建立,增删改查,视图索引)
  3. 实验报告:抽象数据类型的表现和实现
  4. 野火stm32呼吸灯程序_说一说STM32启动过程
  5. unity 使用mysql实现登录注册_用mysql实现登录注册功能
  6. python爬取微博内容_请问该如何通过python调用新浪微博的API来爬取数据?
  7. linux下c语言读取roed文件,如何在Linux系统上安装Android4.4.docx
  8. java自定义错误码类_如何编写和应用Java的自定义异常类
  9. 语言爬虫字段为空_我为什么建议前端将Python 作为第二语言?
  10. 如何快速把音乐转成MP3格式