当前位置:  数据库>mysql

MySQL SQL语句优化的10条建议

    来源: 互联网  发布时间:2014-10-14

    本文导语:  1.将经常要用到的字段(比如经常要用这些字段来排序,或者用来做搜索),则最好将这些字段设为索引。2.字段的种类尽可能用int 或者tinyint类型。另外字段尽可能用NOT NULL。3.当然无可避免某些字段会用到text ,varchar等字符类...

1.将经常要用到的字段(比如经常要用这些字段来排序,或者用来做搜索),则最好将这些字段设为索引。
2.字段的种类尽可能用int 或者tinyint类型。另外字段尽可能用NOT NULL。
3.当然无可避免某些字段会用到text ,varchar等字符类型,最好将text字段的单独出另外一个表出来(用主键关联好)
4.字段的类型,以及长度,是一个很考究开发者优化功力的一个方面。如果表数据有一定的量了,不妨用PROCEDURE ANALYSE()命令来取得字段的优化建议!(在phpmyadmin里可以在查看表时,点击 “Propose table structure” 来查看这些建议) 如此可以让你的表字段结构 趋向完善。
5.select * 尽量少用,你想要什么字段 就select 什么字段出来 不要老是用* 号!同理,只要一行数据时尽量使用 LIMIT 1
6.绝对不要轻易用order by rand() ,很可能会导致mysql的灾难!!
7.每个表都应该设置一个ID主键,最好的是一个INT型,并且设置上自动增加的AUTO_INCREMENT标志,这点其实应该作为设计表结构的第一件必然要做的事!!
8.拆分大的 DELETE 或 INSERT 语句。因为这两个操作是会锁表的,表一锁住了,别的操作都进不来了,就我来说 有时候我宁愿用for循环来一个个执行这些操作。
9.不要用永久链接 mysql_pconnect();除非你真的非常肯定你的程序不会发生意外,不然很可能也会导致你的mysql死掉。
10.永远别要用复杂的mysql语句来显示你的聪明。就我来说,看到一次关联了三,四个表的语句,只会让人觉得很不靠谱。

    
 
 

您可能感兴趣的文章:

  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • mysql 里面的sql语句的连接字符是什么?急用!
  • Mysql增加主键或者更改表的列为主键的sql语句
  • MYSQL速度慢的问题 记录数据库语句
  • Mysql下在某一列后即表的某一位置添加新列的sql语句
  • 允许远程用户访问mysql服务sql语句
  • mysql update语句的用法详解
  • mysql自定义排序顺序语句
  • mysql查询语句通过limit来限制查询的行数
  • mysql快速添加百万条记录的语句
  • mysql与mssql的md5加密语句
  • mysql通过查看跟踪日志跟踪执行的sql语句
  • mysql 动态执行存储过程语句
  • mysql 前几条记录语句之(limit)
  • MySQL 一次执行多条语句的实现及常见问题
  • MYSQL修改所有表的存储引擎格式语句
  • mysql 获取当天发布的信息的语句
  • mysql中将null值转换为0的语句
  • MySql获取某个字段存在于哪个表的sql语句
  • Mysql 取字段值逗号第一个数据的查询语句
  • MySQL 存储过程中执行动态SQL语句的方法
  • MySQL性能优化之Open_Table配置参数的合理配置建议
  • MySQL优化之表结构优化的5大建议(数据类型选择讲的很好)
  • 21条MySQL优化建议(经验总结)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • mysql的SQL_NO_CACHE(在查询时不使用缓存)和sql_cache用法
  • radius mysql问题 rlm_sql_mysql.so 这个文件我怎么都没有找到
  • 取数据库前几条数据(sql server、oracle、mysql)的sql写法
  • EMS SQL Manager for MySQL
  • MySQL到SQL Server迁移工具 CTP
  • mysql下怎样运行脚本以运行niuzi.sql为例
  • Mysql命令行导入sql数据
  • MySQL的SQL语法解析器 DBIx-MyParse
  • MYSQL用什么编译嵌入式SQL的程序
  • 请问as4 u4安装时选择SQL数据库包,是不是还是没有把mysql安装上???谢谢!!
  • 解析MYSQL 数据库导入SQL 文件出现乱码的问题
  • Linux下的C++程序怎么连接WIN2000下的SQL Server 2000?或者如何连接MySQL?
  • MySQL与SQL的触发器的不同写法
  • mysql从执行.sql文件时处理n换行的问题
  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)
  • Mysql命令行导入sql数据的代码
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • mysql source 命令导入大的sql文件的方法
  • PHP处理SQL脚本文件导入到MySQL的代码实例
  • 探讨:MySQL中如何查询当前正在运行的SQL语句
  • mysql SQL语句积累
  • mysql中如何查看最大连接数(max_connections)和修改最大连接数
  • 在 linux下输入"mysql"命令,进入mysql命令行,但出现“Can't connetc to local MySQL server thuough socket /var/lib/mysql/mysql.sock
  • Mysql查询错误:ERROR:no query specified原因
  • MySQL 重装MySQL后, mysql服务无法启动
  • php安装完成后如何添加mysql扩展
  • 为什么用linux安装盘安装了mysql后,启动mysql,提示找不到mysql.sock文件?
  • Myeclipse中自带Tomcat的JDBC连接池配置(mysql和mssql)
  • 請教,在redhat linux7.2+mysql 中,系統提示mysql已啟動,網頁卻不能訪問mysql?
  • MySQL Workbench的下载安装与使用教程
  • 求解释: useradd -g mysql mysql -d /home/mysql -s /sbin/nologin


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3