避免编辑转储文件
Mysqldump创建的转储文件原本是无害的,但它很容易被尝试去编辑。然而,人们应该知道在任何情况下的试图修改这些文件被证明是有危险的。直观地看对这些文件的改动会导致数据库损坏,从而导致系统的退化。为了让你的系统免受任何麻烦,你必须避免编辑MySQL转储文件。
MyISAM 块大小
大多数开发者忘记了这一事实,文件系统往往需要一个大的MyISAM块以保证高效运行。许多开发者不知道块大小的设置。.MYI文件存储在myisam_block_size的设置里,这个设置项可用来修改大的块尺寸。MyISAM块大小的默认值是1K,这不是当前大多数系统的恰当设置。因此,开发者应该考虑指定一个与之相适应的值。
打开 Delay_Key_Write
为避免系统崩溃时数据库损坏delay_key_write默认是关闭的。有人可能会问,如果是这样的话,为什么要把它放在首位打开呢?从防止数据库每次写MyISAM文件时刷新密钥文件方面看这是必要的。通过把它打开,开发者可以节省很多时间。参考MySQL官方手册了解你的版本如何把它打开。
Joins(表连接)
创建索引和使用相同的列类型:join(表连接)操作可以在Mysql中被优化。若应用中有许多join操作,可以通过创建相同的列类型上join来优化。创建索引是加速应用的另一种方法。查询修改有助于你找回期望的查询结果。
优化WHERE从句
即使你只搜索一行MySQL也会查询整个表,因此,建议你当只需要一条结果时将limit设置为1。通过这样做,可以避免系统贯穿搜索整个表,从而可以尽可能快找到与你需求相匹配的记录。
在Select查询上使用Explain关键字
你肯定希望得到与任何特定查询相关的一些帮助。Explain关键词在这方面是非常有帮助的。它在你寻求查询到底做了什么时提供了具体细节。例如,在复杂join查询前键入Explain关键词你会得到很多有用的资料。
使用查询缓存优化查询
MySQL的查询缓存是默认启用的。这主要是因为缓存有助于查询的快速执行,缓存可以在相同的查询多次运行使用。你在关键字前加入当前日期、CURRDATE等PHP代码使查询缓存它从而启用此功能。
使用堆栈跟踪隔离Bug
各种Bug可以使用stack_trace隔离出来。一个空指针足以毁掉一段特定的代码,任何开发人员都知道它有这样的能力。了解使用堆栈跟踪的细节,从而在你的代码里避免bug。
设置SQL_MODE
枚举类型总是让人感到非常的疑惑。由于字段可能拥有多个可能的值,这些可能的值包括你指定的和null,在编码时将会出现很多问题,你将永远都会得到一个警告说代码不正确。一个简单的解决办法就是设置SQL_MODE。
//Start mysqld with
$–sql-mode=”modes”
//or
$sql-mode=”modes” (my.ini – Windows / my.cnf – Unix)
//Change at runtime, separate multiple modes with a comma
$set [GLOBAL|SESSION] sql_mode=’modes’
//TRADITIONAL is equivalent to the following modes:
STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE, ERROR_FOR_DIVISION_BY_ZERO, and NO_AUTO_CREATE_USER
修改Root密码
修改root密码对于某些特定设置是必不可少的,修改命令如下:
//Straightforward MySQL 101
$mysqladmin -u root password [Type in selected password]
//Changing users ROOT password
$mysqladmin -u root -p [type old password] newpass [hit enter and type new password. Press enter]
//Use mysql sql command
$mysql -u root -p
//prompt “mysql>” pops up. Enter:
$use mysql;
//Enter user name you want to change password for
$update user set password=PASSWORD (Type new Password Here) where User = ‘username’;
//Don’t forget the previous semicolon, now reload the settings for the users privileges
$flush privileges;
$quit
用MySQL Dump 命令备份数据库
开发者都知道数据库备份的重要性,当系统出现重大故障时能够起到救命的作用。
最简单的备份数据库的方法
1 | $mysqldump –user [user name] –password=[password] [database name] > [dump file] |
//你也可以用简写"-u","-p"来分别代替"user"和"password"
//将多个数据库导入到一个文件只要在后面添加需要导出数据库的名称:
1 | mysqldump –user [user name] –password=[password] |
2 | [first database name] [second database name] > [dump file] |
//许多数据库都提供了顺序备份的功能,要备份所有数据库只需要添加--all-databases参数。如果你不喜欢命令行,从Sourceforge上下载automysqlbackup吧。
调整CONFIG的配置
PERL脚本MySQL Tuner是另一个强大的优化数据库性能的工具,它能够帮助你对MySQL配置来进行多处调整和修改。你可以访问该项目的官网来进一步了解它。
相关推荐
mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql优化技巧mysql...
mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧mysql日期操作技巧
PHP和MySQL开发的8个技巧 PHP和MySQL开发的8个技巧 PHP和MySQL开发的8个技巧 PHP和MySQL开发的8个技巧
关于mysql优化 设置,语句技巧,连接数,主键id等技巧尝试, 新手学习理解使用 关于mysql优化 设置,语句技巧,连接数,主键id等技巧尝试, 新手学习理解使用
在下在使用Mysql进行数据库编程的时候,遇到了很多问题,当时花了好多时间才把这些弄懂。所以我现在希望我的这一点心得能给您节约点时间,有的地方可能不是很完美!
本书全面深入地介绍了MySQL的功能,主要内容包括MySQL、PHP、Apache、Perl等组件的安装与功能简介,mysql等一些重要系统管理工具和用户操作界面的使用,MySQL数据库系统设计的基础知识与用不同语言设计MySQL数据库的...
mysql8 攻防技巧
MySql数据库设计技巧
Linux应用集成MySQL数据库访问技巧
Educoder题目:MySQL开发技巧 - 批量数据入库及检索答案解析.md
MySQL调优讨论:原理 优化 技巧,可以参考参考
mysql 调优技巧,深入mysql 语言,数据类型的细节。适合有一定数据库基础的专业人员
提升MYSQL查询效率的10个SQL语句优化技巧
本文实例讲述了mysql优化小技巧之去除重复项实现方法。分享给大家供大家参考,具体如下: 说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了...
mysql的开发技巧及mysql的相关开发包 mysql的开发技巧及mysql的相关开发包
MySQL数据库使用技巧三例.pdf
mysql是使用技巧 里面描述了一些mysql使用过程中需要注意的一些事项,还包括一些mysql在使用过程中的一些技巧
sql查询优化 提高MySQL数据库查询效率的几个技巧
11 MySQL 基准套件 12 MySQL 实用程序 12.1 各种 MySQL 程序概述 12.2 管理一个 MySQL 服务器 12.3 从 MySQL 数据库和表中倒出(dump)结构和数据 12.4 从文本文件导入数据 12.5 MySQL ...
mysql优化技巧