Mysql
-
.MySQL主从复制原理流程
- 主:binlog线程——记录下所有改变了数据库数据的语句,放进master上的binlog中; 从:io线程——在使用start slave 之后,负责从master上拉取 b...
-
delete、truncate、drop区别
- truncate和delete只删除数据,不删除表结构 ,drop删除表结构,并且释放所占的空间。 删除数据的速度,drop> truncate > delete delete...
-
行级锁优缺点
优点 1、当在许多线程中访问不同的行时只存在少量锁定冲突。 2、回滚时只有少量的更改 3、可以长时间锁定单一的行。 缺点: 1. 比页级或表级锁定占用更多的内存。 2. 当在表的大...
-
什么情况下应不建或少建索引
1、表记录太少 2、经常插入、删除、修改的表 3、数据重复且分布平均的表字段,假如一个表有10万行记录,有一个字段A只有T和F两种值,且每个值的分布概率大约为50%,那么对这种表A...
-
字段为什么要求定义为not null?
null值会占用更多的字节,且会在程序中造成很多与预期不符的情况。 精品推荐 GPT-4 Plus账号大大大降价了!免费AI写作工具!
-
讲讲SQL问题及处理方式?
SQL注入问题模拟: 比如用户登录,正常情况下应该输入username和password 比如:admin 123456 加入用户输入的是:admin 1234 ' or '1' ...
-
count(1)与count(*)比较
count(1)与count(*)比较: 如果你的数据表没有主键,那么count(1)比count()快 如果有主键的话,那主键(联合主键)作为count的条件也比count()要...
-
Mysql分库分表的原则
1,能不分就不分 如果一个库或表能满足需求,如果拆分不合理,反而因为网络、或者数据复杂性导致出现问题 2,数据量太大 如果数据量特别大,单表查询性能比较低,可以考虑分库分表 3,业...
-
MySQL主从复制原理
数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySQL来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的...
-
如何实现数据库的水平拆分呢?
客户端代理:分片逻辑在应用端,封装在jar包中,通过修改或者封装JDBC层来实现。 当当网的Sharding-JDBC 、阿里的TDDL是两种比较常用的实现。 中间件代理: 在应用...
-
Mysql大表如何优化?
当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下: 1、限定数据的范围 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历...
-
MySQL中有哪几种锁?
从对数据操作的粒度分 : 1) 表锁:操作时,会锁定整个表。 2) 行锁:操作时,会锁定当前操作行。 3) 页面锁:会锁定一部分的数据 从对数据操作的类型分: 1) 读锁(共享锁)...
-
怎么解决并发事务带来的问题?MySQL的默认隔离级别是?
MySQL的四种隔离级别如下: 读取未提交(READ UNCOMMITTED):这个隔离级别下,其他事务可以看到本事务没有提交的部分修改。因此会造成脏读的问题(读取到了其他事务未提...
-
并发事务带来哪些问题?
在典型的应用程序中,多个事务并发运行,经常会操作相同的数据来完成各自的任务(多个用户对同一数据进行操作)。并发虽然是必须的,但可能会导致以下的问题。 脏读(Dirty read):...