发表于: 2017-07-08 01:06:24
2 1071
这两天比较忙,今天处理了下之前遗留的问题。明天时间比较充裕,目标任务1的17~18(现在连这俩任务在说啥都没看懂。。),争取多完成一些。
1.有没有更好的插入10条数据的方法呢?反复复制同一条语句感觉好傻。。
MySQL循环语句
DELIIMITER $$
BEGIN
DECLARE count INT;
SET count = 0;
WHILE count<10 DO
插入数据;
SET count = count + 1;
END WHILE;
END;
$$
DELIMITER ;
2.为什么有索引时插入数据反而更快呢?我本以为索引只是提高查找效率的,而因为每次添加数据都要自动维护索引,所以插入数据会变慢,没想到索引也能提高插入数据的效率。
这个主流理论上还是认为添加索引后插入数据会变慢的,之前得到的结果可能是偶然。
3.自增ID有什么坏处?什么样的场景下不使用自增ID?
(1)自增ID在数据库导入、迁移时会造成的很大的影响。
(2)删除记录后,自增ID还是按之前的数字向上加,中间会有空缺,没有连续性。
4.怎么进行分页数据的查询,如何判断是否有下一页?
实现方法:LIMIT关键字。
SELECT 列名 FROM 表名 LIMIT start,length;
其中,start是偏移量:从第start行开始检索;length是行数:一共检索length行。
判断是否有下一页:SELECT COUNT(*) FROM 表名;获取数据总数,若这个数-length-start<length,则没有下一页。
5.为什么不可以用Select * from table?
(1)SELECT * 会多做一步检索:先检索表中有哪些列,然后再检索各列的值。
(2)应该根据需要的字段取数据,才是最好的。
(3)查找id或者单列可以最大限度的复用缓存,否则缓存的命中率太低,而且通过id可以找到对象
,再得到其他属性
评论