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

mysql 建立索引

就象许多的PHP开发者一样,在刚开始建立动态网站的时候,我都是使用相对简单
的数据结构。PHP在连接数据库方面的确实是十分方便(译者注:有些人认为PHP在连接不同数据库时没有一个统一的接口,不太方便,其实这可以通过一些扩
展库来做到这一点),你无需看大量的设计文档就可以建立和使用数据库,这也是PHP获得成功的主要原因之一。 
  前些时候,一位颇高级
的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数
据库的正规培训,尽管他们都为客户做过一些开发,但却对如何为数据库建立适当的索引所知较少,因此我起了写一篇相关文章的念头。
  最普通的情况,是为出现在where子句的字段建一个索引。为方便讲述,我们先建立一个如下的表。
Code代码如下:
CREATE TABLE mytable (
 id serial primary key,
 category_id int not null default 0,
 user_id int not null default 0,
 adddate int not null default 0
);
  很简单吧,不过对于要说明这个问题,已经足够了。如果你在查询时常用类似以下的语句:
SELECT * from mytable WHERE category_id=1; 
  最直接的应对之道,是为category_id建立一个简单的索引:
CREATE INDEX mytable_categoryid 
 ON mytable (category_id);
  OK,搞定?先别高兴,如果你有不止一个选择条件呢?例如:
SELECT * from mytable WHERE category_id=1 AND user_id=2;
  你的第一反应可能是,再给user_id建立一个索引。不好,这不是一个最佳的方法。你可以建立多重的索引。
CREATE INDEX mytable_categoryid_userid ON mytable (category_id,user_id);
  注意到我在命名时的习惯了吗?我使用"表名_字段1名_字段2名"的方式。你很快就会知道我为什么这样做了。
  现在你已经为适当的字段建立了索引,不过,还是有点不放心吧,你可能会问,数据库会真正用到这些索引吗?测试一下就OK,对于大多数的数据库来说,这是很容易的,只要使用EXPLAIN命令:
EX


相关文档:

Mysql data to long错误的处理方法

今天在写实习生的培训PPT时,用mysql的command line client插入一条带中文的记录时,报data to long的错误,
在网上查看了相关资料,说的是因为这个console使用了一种编码方式,把命令编码后再发送到数据库,具体请参看http://www.cnblogs.com/ovliverlin/archive/2007/11/26/972549.html,说的比较详细,本人看完后,直接 ......

mysql alter 语句用法,添加、修改、删除字段等

http://www.blogjava.net/Alpha/archive/2007/07/23/131912.html
//主键549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//增加一个新列549830479
alter table t2 add d timestamp;
alter table infos add ex tinyint n ......

MYSQL[命令行下]导入导出大数据方法!


2007-11-16 15:37
今天看着手册试了下,发现原来大数据导入导出是那么的轻松(不是很大,200多M的文本而以)
注意:如果发现MYSQL unknown command '\'这样的提示,则设置一下服务器的字符集,如:
mysql -uroot -ppasspass --default-character-set=utf8 databaseName <d:bakcup.sql
这样就不会报错了,^_^
导出 ......

MySQL性能优化

作者:andyao
原文link: http://andyao.javaeye.com/admin/show/144033
转载请留名
1. 简介
在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号