![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 62
Hello_xzy_Word
学如逆水行舟,不进则退
展开
-
范围查询导致排序时索引失效
题目:查询 category_id = 1 且 comments > 1 的 views 值最大的记录的article_id(建表SQL如下)CREATE TABLE IF NOT EXISTS `article` (`id` INT(10) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT,`author_id` INT(10) UNSIGNED NOT NULL,`category_id` INT(10) UNSIGNED NOT NULL,`v原创 2021-05-12 23:01:27 · 996 阅读 · 0 评论 -
为什么要避免使用 select * ?
为什么要避免使用 select * ?很少有需要同时获取所有字段数据的情况,此时使用 selec * 会将不需要的字段一并查出,浪费系统资源,降低查询效率。可读性低(无法直观的知道查询是为了获取哪些数据)更难使用到索引验证有tbl_student_card表:在card_id、student_id字段上创建复合索引:CREATE INDEX idx_cardid_studentid ON tbl_student_card(card_id,student_id)查询1:没有使用到索引原创 2021-05-12 10:58:41 · 1433 阅读 · 0 评论 -
group by、group_concat()、if()
group by、group_concat()、if()现有一培训课程表,表结构如下:字段名类型长度主键备注idvarchar32√trainNamevarchar255培训课程名称insideTeachervarchar255内部讲师姓名outsideTeachervarchar255外部讲师姓名insideOrOutsidevarcher2讲师型(0:内部?讲师1:外部讲师)表中有如下数据:原创 2020-06-10 18:21:35 · 616 阅读 · 0 评论 -
MySQL 游标与嵌套循环
游标嵌套遍历user表:CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()BEGIN DECLARE user1 VARCHAR(100); DECLARE user2 VARCHAR(100); DECLARE done INT DEFAULT 0; DECLARE cursor_user1 CURSOR FOR(SELECT `name` FROM `user`); -- 定于游标1 DECLARE原创 2020-05-21 23:05:54 · 287 阅读 · 0 评论 -
MySQL uuid()函数生成的UUID的长度问题
MySQL uuid()函数生成的UUID的长度问题错误重新有一user表,表结构信息如下:现在尝试执行以下SQL语句,向user表插入一条数据:INSERT INTO `user` VALUES ( UUID(),"肖zy",22 )上述SQL语句执行时产生以下错误信息:INSERT INTO `user` VALUES ( UUID(),"肖zy",22 )> 1406 - Data too long for column 'id' at row 1> 时间: 0s原创 2020-05-21 20:55:29 · 6463 阅读 · 0 评论 -
MySQL层级数据查询
MySQL层级数据查询address表结构如下:address表有如下数据:现在创建一个函数,获取地址全称:CREATE DEFINER=`root`@`localhost` FUNCTION `getFullName`(`id` varchar(1000)) RETURNS varchar(1000) CHARSET utf8mb4 READS SQL DATABEGIN...原创 2020-04-30 21:01:58 · 5502 阅读 · 1 评论 -
PowerDesigner导入SQL脚本
准备1、PowerDesigner软件2、sql文件开始1、打开PowerDesigner,依次点击:file(文件)→ Reverse Engineer(逆向工程)→ Database(数据库)2、命名模型,选择数据库类型。3、 选择SQL文件4、开始导入5、导入完成...原创 2020-03-12 23:04:27 · 510 阅读 · 0 评论 -
“分库分表”思想理解笔记
当一张表中的数据达到几千万条时,对表进行一次查询所花的时间将会变长。这时候,如果有联合查询的话,可能会卡死在那儿,甚至把系统给拖垮。而分库分表的目的就在于此:减小数据库的负担,提高数据库的效率,缩短查询时间。另外,因为分库分表这种改造是可控的,底层还是基于RDBMS(关系数据库管理系统),因此整个数据库的运维体系以及相关基础设施都是可重用的。假设目前我们的系统有将近20亿条数据,每张表...转载 2019-05-07 11:13:36 · 154 阅读 · 0 评论