1. 一张表的数据量是百万级的,要做分页查询你怎么优化?
select * from students where id in ( select id from students where age > 20 limit 100000, 10)
。2. 连接查询要注意什么问题吗?
3. count(1),count(*),count(字段) 有什么区别?
表中只有一个字段时 count(*) 效率最高,count(列名) 当列名是主键时,它的效率高于 count(1),其他情况 count(1) 效率更高。
4. 线上系统越跑越慢,你怎么排查?
5. 什么是慢查日志?
mysqldumpslow -s c -t 10 日志文件位置
即可。6. show profile 又是什么?
show variables like 'profiling'
查看是否开启,通过set profiling = 'on'
开启。执行show profiles
可以列出 SQL、执行时间以及它的 id,执行show profile cpu, block io for query sqlId
就可以查看该 SQL 执行时的资源消耗情况。7. 说一说主从复制和读写分离?
8. 你用过存储过程吗?
9. 存储过程和函数有什么异同?
10. 存储过程和函数有什么优缺点呢?
11. 什么是视图?
create view <视图名> as <select语句>
,查看用describle <视图名>,修改视图用
alter <视图名>,删除视图用drop <视图名>
。12. 什么是触发器?