java面试题-简单描述mysql相关问题
一、MYSQL中drop、delete与truncate的区别
Drop通常删除整张表;delete通常删除部分数据;truncate通常删除表中所有记录。
二、Union与Union All的区别
Union合并重复的记录,Union All则不会,Union执行效率率高些。
三、MYSQL中sql语句的执行生命周期
1、应用服务器与数据库建立连接
2、数据库进程拿到请求中的sql语句
3、通过编译解析执行语句郑州看心理医生多少钱http://www.hyde8025.com/
4、在内存中进行逻辑处理郑州心理疾病医院http://www.hyde8871.com/
5、将得到处理的数据发送给应用服务器
6、关闭数据库连接,释放资源
四、数据表内容比较多时,怎么优化查询
1、增加缓存redis、memcached,将经常用到的查询数据放到缓存中
2、采用主从读写分离技术,将读写的数据放到不同数据库中或不同数据表中
3、垂直拆分或水平拆分,将业务多的内容拆分成多个子模块处理
五、为什么尽量要在表中设定主键
主键是表中唯一键,也是确定数据行唯一性的保障,这可以在操作表中数据提高增加、删除、修改、查询执行效率。
六、为什么在表字段中建议设置属性值not null
Null值在表中会暂用字节空间,而且在程序访问中,也可能带来预期不符的问题。
七、主键自增ID和UUID设置区别
自增ID因为是按照内存顺序插入的,不断向后排列,在执行语句上比UUID快些,但UUID优点就是可以超过自增ID长度值。