mysql要点问题文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
要点问题文档
Q1: Mysql数据库中有千万数据,Mysql无法启动(无论是重启机器还是重启Mysql服务都无效)?
A1: 因为Mysql数据所在目录空间已满, 将Mysql的Data文件目录移至别一位置即可.
Q2: 在庞大的数据记录中Mysql查询缓慢?
A2: 增加关键字段索引; 尽量少用Left join, Right join, in, or等等相关复合查询以及<, >, <=, >=, <>等等运算符, 多用=, limi, and等.
注意: 参加查询的字段尽量靠前,有助于查询速度更快.
Q3: Mysql启动时出现如下错误:
Starting MySQL..Manager of pid-file quit without updating f[FAILED]
A1: 因为mysql-bin.000010文件权限被修改.
成功后的权限:
-rw-rw---- 1 mysql mysql 1691 Aug 14 11:31 /var/lib/mysql/mysql-bin.000010
搜索资料:
如果用mysqld_safe --user=mysql & 命令启动数据库则正常,说明f正确无误。
打开/etc/selinux/config把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器后问题就得以解决。那么这个问题就涉及到MySQL的各个版本了。
相关资料:
好的性能依赖于使用存在的索引。要保证优化器使用索引,请您遵循以下步骤:
∙使用列本身,而不使用引用列的函数和表达式。
∙避免在查询串的开头使用通配符。
∙只比较相同类型的列。
∙在Where 语法中包含所有AND 操作符。
列本身
运行一个查询的时候,使用函数或者表达式引用列会导致索引暂时顺序混乱。
通配符
当使用LIKE 进行比较时,只要第一个字符不是通配符,MySQL 就不会对索引做任何变动。
列类型
早于3.23 的版本把比较规则限制为同类型的列。从3.23 开始不同类型的列也可以进行比较,如果列类型不同,你可能会注意到性能有所下降。
AND 操作符
当在WHERE 语句中使用AND 操作符时,必须在表达式的每一部分使用前缀。
索引的缺点
到目前为止,我们讨论的都是索引的优点。事实上,索引也是有缺点的。
首先,索引要占用磁盘空间。通常情况下,这个问题不是很突出。但是,如果你创建每一种可能列组合的索引,索引文件体积的增长速度将远远超过数据文件。如果你有一个很大的表,索引文件的大小可能达到操作系统允许的最大文件限制。
第二,对于需要写入数据的操作,比如DELETE、UPDATE以及INSERT操作,索引会降低它们的速度。这是因为MySQL不仅要把改动数据写入数据文件,而且它还要把这些改动写入索引文件。