mysql字段的适当冗余有利于提高查询速度
2016-10-19 00:43
417 查看
CREATE TABLE `comment` (
`c_id` int(11) NOT NULL auto_increment COMMENT '评论ID',
`u_id` int(11) NOT NULL COMMENT '用户ID',
`name` varchar(50) NOT NULL default '' COMMENT '用户名称',
`content` varchar(1000) NOT NULL default '' COMMENT '评论内容',
PRIMARY KEY (`c_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
INSERT INTO `comment` (`c_id`, `u_id`, `name`, `content`) VALUES
(1, 1, '张映', '触发器测试'),
(2, 1, '张映', '解决字段冗余'),
(3, 2, 'tank', '使代码更简单');
在这里有一个冗余字段name,我们在读取评论进可以用联合查寻来找到user表中的名字,为什么要有冗余字段呢,因简单的sql语句执行效率更高,但不是冗余字段越多越好,冗余字段多了,同样会增加数据库负担 .
我要做的事情是,当我更新user表的name时,触发器同时更新comment表,就不要写php代码去更新了,当用户被删除时,comment表中,有关该用户的数据将被删除
`c_id` int(11) NOT NULL auto_increment COMMENT '评论ID',
`u_id` int(11) NOT NULL COMMENT '用户ID',
`name` varchar(50) NOT NULL default '' COMMENT '用户名称',
`content` varchar(1000) NOT NULL default '' COMMENT '评论内容',
PRIMARY KEY (`c_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
INSERT INTO `comment` (`c_id`, `u_id`, `name`, `content`) VALUES
(1, 1, '张映', '触发器测试'),
(2, 1, '张映', '解决字段冗余'),
(3, 2, 'tank', '使代码更简单');
在这里有一个冗余字段name,我们在读取评论进可以用联合查寻来找到user表中的名字,为什么要有冗余字段呢,因简单的sql语句执行效率更高,但不是冗余字段越多越好,冗余字段多了,同样会增加数据库负担 .
我要做的事情是,当我更新user表的name时,触发器同时更新comment表,就不要写php代码去更新了,当用户被删除时,comment表中,有关该用户的数据将被删除
相关文章推荐
- HQL查询需要的某些字段,提高查询速度
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 提高mysql大数据查询速度
- 6条策略提高mysql查询速度
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- Mysql中使用中间表提高统计查询速度
- 针对MySQL提高百万条数据的查询速度优化
- 提高MYSQL大数据量查询的速度
- mysql处理百万级以上的数据时如何提高其查询速度的方法
- MYSQL处理百万级以上的数据提高查询速度的方法
- mysql处理百万级以上的数据时如何提高其查询速度的方法
- 6条策略提高mysql查询速度 潇湘博客
- 关于mysql处理百万级以上的数据时如何提高其查询速度的方法
- 表分区MySQL版本:5.5.11比5.1查询速度明显提高(4倍左右)
- mysql在数据库表中,使用索引可以大大提高查询速度
- mysql处理百万级以上的数据时提高其查询速度的方法
- 提高百万条数据的查询速度-mysql优化
- 提高MYSQL大数据量查询的速度