当前标签: mysql

一个单引号引发的MYSQL性能损失12/22/2010

生活中难免遇到一些不如意,有些来自我们自身,而有些不是。今天冬至,说这一天是北半球白天最短、黑夜最长的。今天我们来分享下我的一个同事提到加没加单引号的巨大区别,对于MYSQL性能优化很有意义。

刚刚我们说过了,生活中难免会有一些不如意,比如,我们用一个字符串类型的字段来作为主键,表面上,这太不如意了,然而,事实也证明这是有用的。问题也就出来了,当在查询语句中对该字段值加上单引号和不加查询耗时相差百倍!

我建立的测试表是这样子的:

CREATE TABLE `foo` (
  `key` VARCHAR(10) NOT NULL,
  `time` INT(11) NOT NULL,
  PRIMARY KEY (`key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

太给力了,让我看完 »

| 34条评论分类: 我爱PHP,系统架构设计 标签:  

同事今天下午的MYSQL性能优化分享10/09/2010

下午的分享,同事讲了下关于mysql性能优化方面几个心得,很有意义,贴出来

1、分库分表

很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表members,查询起来非常之慢,同事的做法是将其散列到100个表中,分别从members0到members99,然后根据mid分发记录到这些表中,牛逼的代码大概是这样子:

<?php
for($i=0;$i< 100; $i++ ){
	//echo "CREATE TABLE db2.members{$i} LIKE db1.members<br>";
	echo "INSERT INTO members{$i} SELECT * FROM members WHERE mid%100={$i}<br>";
}
?>

竟有如此美文,尽阅之 »

| 17条评论分类: 我爱PHP,网管日志 标签:  

用PHP向MYSQL中插入图片、二进制文件10/14/2007

     看到很多人都在论坛里问,如果帖子里有图片是放在文件中好,还是放在数据库中棒?甚至就赤裸裸的问图片怎么插入数据库??
     本来偶一直以为,图片好好的干嘛要插入数据库呢?始终没有理解(恕在下愚钝),这样的效率高吗?数据库空间比普通的web空间便宜还是咋的?老要把图片往数据库里整。
     既然你们这么喜欢玩数据库,我就成全你们,哼哼~,且看我如何把林志玲插入到MYSQL中去。当然,林志玲是图片,偶的一张墙纸,如果是真人,这样做是违法的!请小朋友们不要盲目模仿grin

     我的做法是将二进制数据先base64编码后,再加入数据库,不然一些特殊符号会导致插入不成功。(当然可以使用addslashes、stripslashes两个函数来处理特殊字符,这样还可以使插入的数据基本等于二进制数据的大小,而base64则会增大不少!) 让我膜拜一下全文吧 »

| 4条评论分类: 我爱PHP 标签:  

PHP界大牛们
反人类不分昼夜
牛掰级朋友圈子