simonxzq
(simonxzq)
高级会员

高级会员
UID 14971
精华
1
积分 574
帖子 537
金钱 564 喜悦币
威望 10
人脉 0
阅读权限 50
注册 2002-6-25 来自 江门
状态 离线
|
[广告]: q
m
今天用mysql做了个试验
程序和数据如下:
set_time_limit(0);
$connect=mysql_connect("localhost","xxxx","xxxx");
mysql_select_db("db_name");
$sql="insert into co values('','21ÊÀ¼Í','http://www.21cn.com','0','|¼òÌåÖÐÎÄ','5',' 441/125 ','395/295','371/323','355/337','21ÊÀ¼Í','12','2003-06-11/17:06:32','2','c4ca4238a0b923820dcc509a6f75849b/i1055322438.jpg','c4ca4238a0b923820dcc509a6f75849b/s1055322438.jpg','µÇ¼°ïÖúÒôÏñ³¬ÊйÉÊÐ888»ãÊÐͨÐÂÎ÷ÓμÇÐÂÎŲƾÎĽÌ?..','c4ca4238a0b923820dcc509a6f75849b/l1055322438.jpg','c4ca4238a0b923820dcc509a6f75849b/t1055322438.jpg','simonxzq','4');";
print(date("H:i:s")."-".microtime());
for($i=0;$i<100000;$i++){
mysql_query($sql,$connect);
flush();
}
mysql_close($connect);
print("<br>".date("H:i:s")."-".microtime());
插入10万条记录
结果花了1:13,然后我把它清空后,试100万,程序不知怎么搞的,老是不能完全执行完毕(EDITPLUS和IE都是那样),改为50万后,发现花的时间差不多正好是5倍,但如果在中间SELECT两条不连续的记录却花了20秒(之前在PHPMYADMIN里把total里的两个值改为8和9)
select id from co where total='9' or total='8';
2 rows in set (20.07 sec)
所以我想问下,如何可以提高数据库的查询效率??
或在建表时有什么可以提高效率的方法??我的表结构如下:
CREATE TABLE `co` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
`webname` TEXT NOT NULL ,
`weburl` TEXT NOT NULL ,
`webbody` TEXT NOT NULL ,
`language` VARCHAR( 40 ) NOT NULL ,
`speed` VARCHAR( 4 ) NOT NULL ,
`design` VARCHAR( 10 ) NOT NULL ,
`bw` VARCHAR( 10 ) NOT NULL ,
`technique` VARCHAR( 10 ) NOT NULL ,
`ct` VARCHAR( 10 ) NOT NULL ,
`stat` TEXT NOT NULL ,
`click` VARCHAR( 10 ) NOT NULL ,
`update` VARCHAR( 10 ) NOT NULL ,
`total` VARCHAR( 10 ) NOT NULL ,
`bigimage` TEXT NOT NULL ,
`smallimage` TEXT NOT NULL ,
`absorb` LONGTEXT NOT NULL ,
`lnsideimage` TEXT NOT NULL ,
`tinyimage` TEXT NOT NULL ,
`userid` VARCHAR( 16 ) NOT NULL ,
`class` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
|
|