易截截图软件、单文件、免安装、纯绿色、仅160KB

MySQL主从服务器的一些技巧(转)

主从服务器表类型的选择
一般的共识是主服务器使用innodb,事务,行锁等功能是myisam所没有的,对修改操作而言,它更高效;从服务器使用myisam,全文检索功能是innodb所没有的,对查询操作而言,它更高效。这样就可以各尽其能。
呵呵,主从库各司其职,主库:最快的速度做添加删除修改操作,从库,最快的速度做查询操作
问题:主从服务器字段类型的选择
字段类型对于分页等操作有很大影响。主服务器一般是innodb,因为不涉及查询,所以可以使用varchar等来存储字符串来节省空间,从服务器一般是 myisam,因为涉及查询,所以必须在char和varchar之间仔细权衡,没有varchar, text, blob字段的表是静态表,反之是动态表,静态表的检索效率要比动态表好若干倍,一般来说,所有涉及大结果集的查询都应该尽可能保证在静态表上完成,这里 说一个例子:比如说常见的articles表有title(varchar), body(text)等字段,在做文章列表的时候,因为不是静态表,所以查询不会很快,下面开始重构解决方案:把原来的articles表拆分成 subjects表和contents表,title字段设置为一个足够的char类型放在subjects表里,body字段还保持是text类型放到 contents表里,subjects和contents表之间的关系是一对多,这样,顺带着也方便的实现了多页文章的功能,而且更重要的是在查询文章 列表的时候,操作都是在subjects静态表里完成,效率肯定会比前一种方案提升很多。
强调:MyISAM里静态表和动态表的区别对性能影响极大,但我敢说很大一部分使用者并没有注意过这一点!如果你就是其中之一,那么我强烈建议你再次体会 一下前面说的articles分解为subjects/contents的过程,相信你熟悉了以后,下一个应用的速度会有质的提升。
唉,我就是那不知道的当中一人,受教了
问题:主从服务器NOW()函数造成数据不一致
假设在主服务器上执行一条INSERT …. VALUES ( …, NOW()),那么在从服务器上也会同样执行一条的SQL语句,但是主从服务器各自的时间设置可能不一致(比如说时区不同),NOW()在两台服务器上的 结果就可能不一致。在MySQL5.1里,将支持行复制,那时候就不存在这个问题了。不过不管怎么说,都不应该在程序里使用NOW(),时间的计算在应用 程序里完成。这里介绍一个额外的小技巧:获得时间戳,和time()相比,$_SERVER[‘REQUEST_TIME’] 少做了一次系统调用,不过是否合适要视客观情况而定。
这点不敢苟同,binlog上有时间戳信息,所以应该可以


相关文档:

基础 JAVA对Mysql进行连接、插入、修改、删除操作

数据库表单的创建
mysql> create database shuishengmu;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql    & ......

mysql text 长度


mysql text 长度
文章分类:数据库
今天在做DB设计的时候在想用TEXT 是否能够满足将来的数据,能够出现装不下的情况。
后来查询了一下官方手册得到了一个答案。
一个BLOB或TEXT列,最大长度为65535(2^16-1)个字符。
MEDIUMBLOB 
MEDIUMTEXT 
一个BLOB或TEXT列,最大长度为16777215(2^24-1)个字符。
LONG ......

mysql 中 时间和日期函数

基础部分
一、MySQL 获得当前日期时间 函数
1.1 获得当前日期+时间(date + time)函数:now()
mysql> select now();
+---------------------+
| now()               |
+----------------- ......

Mysql 日期和时间转换函数大全

对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描述见7.3.6 日期和时间类型。
这里是一个使用日期函数的例子。下面的查询选择了所有记录,其date_col的值是在最后30天以内:
mysql> SELECT something from table
WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) select DAYOFWEEK('1998-02-03');
-&g ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号