当前位置:首页 > 系统运维 > 正文内容

MySQL数据库的基本结构与索引的优化方案

a8116255316年前 (2010-06-04)系统运维12

以下的文章主要介绍的是MySQL数据库的基本结构,MySQL数据库索引的优化方案与查询语句的优化这些内容。这些相关的内容说对于数据库新手来说可以说意义很大,以下就是文章的具体内容描述。

MySQL数据库结构

字段类型的定义时遵循以下规则:

选用字段长度最小

优先使用定长型

尽可能的定义 "NOT NULL"

数值型字段中避免使用 "ZEROFILL"

如果要储存的数据为字符串, 且可能值已知且有限, 优先使用 enum 或 set

MySQL数据库索引的优化

被索引的字段的长度越小, 该索引的效率越高

被索引的字段中, 值的重复越少, 该索引的效率越高

查询语句中, 如果使用了 "group" 子句, 根据其中字段出现的先后顺序建立多字段索引

查询语句中, 如果使用了 "distinct", 根据其中字段出现的先后顺序建立多字段索引

"where" 子句中, 出现对同一表中多个不同字段的 "and" 条件时, 按照字段出现的先后顺序建立多字段索引

"where" 子句中, 出现对同一表中多个不同字段的 "or" 条件时, 对重复值最少的字段建立单字段索引

进行 "内/外连接" 查询时, 对 "连接字段" 建立索引

对 "主键" 的 "unique" 索引 毫无意义, 不要使用

被索引字段尽可能的使用 "NOT NULL" 属性

对写入密集型表, 尽量减少索引, 尤其是 "多字段索引" 和 "unique" 索引

MySQL数据库查询语句的优化

多多利用 "explAIn" 查询索引使用情况, 以便找出更佳的查询语句写法和索引设置方案

慎用 "select *", 查询时只选出必须字段

查询使用索引时, 所遍历的索引条数越少, 索引字段长度越小, 查询效率越高 (可使用 "explain" 查询索引使用情况)

避免使用 MySQL 函数对查询结果进行处理, 将这些处理交给客户端程序负责

使用 "limit" 时候, 尽量使 "limit" 出的部分位于整个结果集的前部, 这样的查询速度更快, 系统资源开销更低

在 "where" 子句中使用多个字段的 "and" 条件时, 各个字段出现的先后顺序要与多字段索引中的顺序相符

在 "where" 子句 中使用 "like" 时, 只有当通配符不出现在条件的最左端时才会使用索引

在 MySQL 4.1 以上版本中, 避免使用子查询, 尽量使用 "内/外连接" 实现此功能

减少函数的使用, 如果可能的话, 尽量用单纯的表达式来代替

避免在 "where" 子句中, 对不同字段进行 "or" 条件查询, 将其拆分成多个单一字段的查询语句效率更高

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/20877.html

分享给朋友:

“MySQL数据库的基本结构与索引的优化方案” 的相关文章

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

解决windows 7无法将程序锁定到任务栏或附到开始菜单的方法

出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。 1、在开始搜索框中键入“regedit”,按回车键打开注册表编辑器。 2、依次定位到以下分支:HKEY_CLASSES_ROOTlnkfile。 3、在lnkfile项上鼠标右键单击“新建”——“字符串值”。...

windows 7系统怎么取消禁ping命令?

windows 7系统怎么取消禁ping命令?

当我在虚拟机的linux系统中ping本机的ip发现ping不通,而本机可以ping通虚拟机中的ip。应该是出于安全考虑吧,Windows 7默认在防火墙里禁止了。 1、查看主机ip 打开“开始”程序中的“附件”,找到“命令提示符”打开。输入命令:ipconfig,可以看到本机的ip是192.1...

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

 故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

windows 7系统中不能把程序锁定到任务栏的解决方法图文讲解

最近小编在使用Windows 7的时侯遇到一个问题,就是应用程序和快捷方式不能锁定到任务栏,我当时不知道怎么回事,但是很多现有的方法都不能解决这个问题。现在我把我的解决的方法分享给大家以作参考。 问题分析 经过思考,初步判断出现该问题的原因是由于使用第三方优化软件消除快捷方式的小箭头引起的。...

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

windows 7/8/xp系统关闭自动播放功能禁止音频媒体自动播放

Windows 7/8系统: 控制面板——自动播放——取消掉为所有媒体和设备设置自动播放 winXP系统: 开始—运行—gpedit.msc—计算机配置—管理模板—系统—关闭自动播放—已启用—所有驱动器—确定  关闭自动运行功能说明: 一旦您将媒体插入驱动器...

windows 7怎么设置密码永不过期?

windows 7怎么设置密码永不过期?

下面小编以Windows 7 64位为例,介绍下密码是如何设置永不过期的。  1、在桌面上打开“开始”菜单,或者点击“Win+R”快捷键将“运行”对话框打开。  2、运行对话框打开后,在里面中输入“lusrmgr.msc”字符命令,就可以打开“本地用户和组程序”。...