- 论坛徽章:
- 0
|
建立一个表,用来存放歌曲,表的格式如下:
- $sql = 'DROP TABLE IF EXISTS `music`;';
- mysql_query( $sql, $conn );
- $sql = "CREATE TABLE `music` (
- `music_id` int(32) unsigned NOT NULL auto_increment,
- `musci_name` varchar(128) NOT NULL default '',
- `music_singer` varchar(128) NOT NULL default '',
- `music_type` enum('normal','fanchang') NOT NULL default 'normal',
- `music_belong` varchar(128) NOT NULL default '',
- `music_words` test default NULL,
- `music_format` enum('mp3','wma','mid','wma') NOT NULL default '',
- `music_size` int(32) NOT NULL,
- `music_url` varchar(64) default '',
- `music_rate` int(4) NOT NULL default '5',
- PRIMARY KEY (`music_id`),
- UNIQUE KEY `key` (`music_name`,`music_singer`,`music_belong`,`music_format`,`music_words`)
- ) TYPE = MyISAM;";
复制代码
现在有点搞不清UNIQUE KEY的具体用途,知道PRIMARY KEY是用来标识唯一的主键,在查询索引的时候用到,想问一下
1、不知道建立这么多的UNIQUE KEY是不是有用途,是不是也是用来索引的
2、因为到时候搜索的时候可能会根据 歌名 歌手 专集(music_belong),格式(music_format),还有歌词来搜索一首歌,所以建立这么多的UNIQUE KEY是不是有必要,
3、UNIQUE KEY多了会不会到时候影响速度
4、在定义music_id的时候,考虑到存放的歌曲可能会很多,有没有必要这样写`music_id` int(32) unsigned NOT NULL auto_increment,
5、UNIQUE KEY `music_name` (`music_name`)
KEY `music_singer` (`music_singer`),
KEY `music_belong` (`music_belong`),
KEY `music_format` (`music_format`),
KEY `music_words` (`music_words`)
和这样写
UNIQUE KEY `key` (`music_name`,`music_singer`,`music_belong`,`music_format`,`music_words`)
有什么区别
还想请来过的各位大哥给推荐本学php和mysql的好书或者电子教程,现在手里有php和mysql的官方doc,详细是很详细,但是全部都仔细看完觉得进度太慢,想先对各个比较常见的知识了解个大概然后再来仔细深入,所以想请各位大哥给推荐个。
在此先拜谢了!
[ 本帖最后由 XSISEE 于 2006-11-16 16:37 编辑 ] |
|