Tag Archives: MySQL

Mysql分表教程

一般来说,当我们的数据库的数据超过了100w记录的时候就应该考虑分表或者分区了,这次我来详细说说分表的一些方法。目前我所知道的方法都是MYISAM的,INNODB如何做分表并且保留事务和外键,我还不是很了解。

首先,我们需要想好到底分多少个表,前提当然是满足应用。这里我使用了一个比较简单的分表方法,就是根据自增id的尾数来分,也就是说分0-9一共10个表,其取值也很好做,就是对10进行取模。另外,还可以根据某一字段的md5值取其中几位进行分表,这样的话,可以分的表就很多了。

好了,先来创建表吧,代码如下:[......]

阅读全文»

PHP5.2.3以上的环境中尽量不要使用SET NAMES设置Mysql编码

从php5.2.3以及mysql5.0.7之后SET NAMES 'utf8'这类语句将不再建议使用,而尽量要使用mysql_set_charset()函数。
如:

此代码要修改为:

其中utf8也可以是gbk或代码页,如cp936。

该改变在PHP5.2.3的手册中有关mysql_set_charset()上已经声明:
http://cn.php.net/manual/zh[......]

阅读全文»

MySQL五个查询优化方法

熟悉SQL的人都知道,完成同一个任务,SQL可能有多种写法,但不同写法的查询性能可能会有天壤之别,本文列举出五个查询优化的方法,当然,优化的方法还有很多。  

1、优化数据类型

MySQL中数据类型有多种,如果你是一名DBA,正在按照优化的原则对数据类型进行严格的检查,但开发人员可能会选择他们认为最简单的方案,以加快编码速度,或者选择最明显的选择,因此,你可能面临的都不是最佳的选择,如果可能的话,你应该尝试以通用准则来改变这些决定。 IT专家网独家:MySQL存储过程调试

(1)避免使用NULL[......]

阅读全文»