mysql
-
mysql中有哪些常见的原则



数据库设计应遵循前三范式以减少冗余和依赖,必要时适度反范式化;2. 合理创建索引提升查询效率,遵循最左前缀原则并避免过度索引;3. SQL编写需简洁高效,避免SELECT *、函数操作导致索引失效,并控制事务大小;4. 通过EXPLAIN分析执行计划,避免全表扫描,结合慢查询日志优化性能;5. 高并…
-
mysql列的使用规范



答案:MySQL列设计应选择合适数据类型,合理设置属性,规范命名,并考虑索引优化。需根据业务选最小够用类型,如TINYINT、VARCHAR、DATETIME等;设NOT NULL并配默认值,统一用utf8mb4字符集;命名小写加下划线,主键用id,外键与引用列同名;高频查询字段建索引,遵循最左匹配…
-
mysql蠕虫复制是什么意思



“蠕虫复制”指在MySQL中通过INSERT INTO … SELECT语句将表内数据自我复制,实现数据量指数级增长。主要用于快速生成测试数据、压力测试和学习SQL技巧。执行时需排除自增主键,避免唯一索引冲突,防止数据爆炸和性能问题,仅建议在测试环境使用。 MySQL蠕虫复制并不是MyS…
-
怎么drop掉mysql库中的1TB表单
1、清除Buffer Pool缓冲 在drop table时,innodb引擎会清理该表在每个buffer pool实例中中对应的数据块页面,为了避免对系统的影响,这里的清除操作并不是真正的flush,而是将涉及到的页面从flush队列中摘除。但在摘除过程中,删除进程会持有每个buffer pool…
-
SQL SELECT 如何实现条件动态拼接?



使用存储过程动态拼接SQL,通过IF判断参数添加条件,配合PREPARE执行;2. 应用层根据参数动态构建SQL与参数列表,防止SQL注入;3. 利用COALESCE或OR使无效条件自动跳过,实现伪动态;4. ORM如MyBatis用动态标签灵活拼接,避免语法错误。选择方法需结合环境,确保安全与性能…
-
mysql两种事务类型



显式事务需手动用BEGIN开启并COMMIT提交,适用于复杂业务;隐式事务在autocommit=1时自动提交,每条SQL独立执行,适合简单操作。 MySQL中的事务处理主要依赖于存储引擎的支持,其中最常用的是InnoDB存储引擎。在实际应用中,并没有明确划分成“两种事务类型”的标准说法,但根据事务…
-
mysql插入记录的两种方式



INSERT INTO … VALUES 用于标准插入,支持批量操作;INSERT INTO … SET 更灵活直观,适合单条记录。前者需字段值顺序对应,后者可随意%ign%ignore_a_1%re_a_1%字段,但不支持多条同时插入。 在MySQL中,向表中插入记录主要有…
-
mysql char和varchar的应用场景



CHAR适用于固定长度字符串如国家代码、性别,性能高且适合索引;VARCHAR用于变长文本如用户名、地址,节省空间且灵活。定长选CHAR,变长选VARCHAR,合理选择提升存储与查询效率。 CHAR 和 VARCHAR 是 MySQL 中最常用的字符串数据类型,它们在存储和性能上有明显差异,适用于不…
-
mysql触发器有什么作用



触发器用于自动执行SQL操作以维护数据一致性、实现审计、简化逻辑和强制规则。例如,删除用户时联动删除订单,插入订单时检查库存,更新或删除时记录日志,注册后创建默认配置,完成订单时增加积分,限制工资降幅,验证订单金额准确性。合理使用可提升安全与效率,但需避免过度使用导致性能与调试问题。 MySQL触发…
-
mysql视图view的特点



视图是基于查询的虚拟表,不存储数据,使用时动态生成结果;它简化复杂查询、提升安全性、实现逻辑解耦,部分视图支持更新但有限制,且可能带来性能开销。 MySQL视图(View)是一种虚拟表,其内容由查询定义。与真实的表不同,视图并不存储数据本身(除非是物化视图,但MySQL原生不支持),而是保存一条SE…