MySQL——常见问题

NULL和空值的区别

1、空值不占空间,NULL值占空间。当字段不为NULL时,也可以插入空值。

2、当使用 IS NOT NULL 或者 IS NULL 时,只能查出字段中没有不为NULL的或者为 NULL 的,不能查出空值。

3、判断NULL 用IS NULL 或者 is not null,SQL 语句函数中可以使用IFNULL()函数来进行处理,判断空字符用 =''或者<>''来进行处理。

4、在进行count()统计某列的记录数的时候,如果采用的NULL值,会别系统自动忽略掉,但是空值是会进行统计到其中的。

5、MySql中如果某一列中含有NULL,那么包含该列的索引就无效了。这一句不是很准确。

6、实际到底是使用NULL值还是空值(''),根据实际业务来进行区分。个人建议在实际开发中如果没有特殊的业务场景,可以直接使用空值。

truncate和delete区别

速度上:truncate快,整张表删除;delete一行一行删除

产生日志上:delete删除会产生二进制日志;truncate删除数据不产生二进制日志

insert和replace区别

insert: 插入一条新的数据, 假如主键相同的话会报错

replace: 要插入的数据中索引值不同于表中任意一条数据的索引值,就增加一条新的数据,等同于insert,否则,替换原来的数据,等同于先delete再insert

MySQL调优

1.升级硬件

2.系统(linux)调优,内存,文件系统,内核等参数的调优

3.MySQL的调优

3.1 参数的调优--》需要了解MySQL的机制

3.2 SQL语句的调优--》需要了解SQL语句

3.3 分区,分表,分库

4.架构的调优

4.1 中间件(缓存)

4.2 分布式(集群)

相关推荐
正在走向自律1 天前
金仓数据库KingbaseES中级语法详解与实践指南
数据库·oracle·kingbasees·金仓数据库·信创改造
Gofarlic_oms11 天前
Windchill用户登录与模块访问失败问题排查与许可证诊断
大数据·运维·网络·数据库·人工智能
我是小疯子661 天前
Python变量赋值陷阱:浅拷贝VS深拷贝
java·服务器·数据库
Zoey的笔记本1 天前
2026告别僵化工作流:支持自定义字段的看板工具选型与部署指南
大数据·前端·数据库
静听山水1 天前
docker安装starrocks
数据库
学编程的小程1 天前
从“兼容”到“超越”:金仓KESBSON引擎如何借多模融合改写文档数据库规则
数据库
千层冷面1 天前
数据库分库分表
java·数据库·mysql·oracle
DBA小马哥1 天前
金仓数据库引领国产化替代新范式:构建高效、安全的文档型数据库迁移解决方案
数据库·安全·mongodb·dba·迁移学习
企业对冲系统官1 天前
基差风险管理系统日志分析功能的架构与实现
大数据·网络·数据库·算法·github·动态规划
冉冰学姐1 天前
SSM学毕电设信息采集系统74v6w(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·学生管理·ssm 框架应用·学毕电设·信息采集系统