当前位置:网站首页>mysql学习
mysql学习
2022-07-01 06:27:00 【一条小咸鱼i】
文章目录
sql优化
最好是按照以下顺序优化:
1、SQL 语句及索引的优化
2、数据库表结构的优化
3、系统配置的优化
4、硬件的优化
详情
索引的底层实现原理和优化
B+树,经过优化的 B+树
主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建
议为大部分表使用默认自增的主键作为主索引。
二叉树、平衡二叉树、b树、b+树






B+树,经过优化的 B+树
主要是在所有的叶子结点中增加了指向下一个叶子节点的指针,因此 InnoDB 建
议为大部分表使用默认自增的主键作为主索引。
为数据表建立索引的原则有哪些?
在最频繁使用的、用以缩小查询范围的字段上建立索引。
在频繁使用的、需要排序的字段上建立索引
什么情况下不宜建立索引?
对于查询中很少涉及的列或者重复值比较多的列,不宜建立索引。
对于一些特殊的数据类型,不宜建立索引,比如文本字段(text)等
什么是锁?
答:数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数
据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可
能会读取和存储不正确的数据,破坏数据库的一致性。
加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进
行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定
的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操作。
基本锁类型:锁包括行级锁和表级锁
什么是存储过程?用什么来调用?
答:存储过程是一个预编译的 SQL 语句,优点是允许模块化的设计,就是说只需
创建一次,以后在该程序中就可以调用多次。如果某次操作需要执行多次 SQL,
使用存储过程比单纯 SQL 语句执行要快。可以用一个命令对象来调用存储过程
说说对 SQL 语句优化有哪些方法?(选择几条)
1、Where 子句中:where 表之间的连接必须写在其他 Where 条件之前,那些可
以过滤掉最大数量记录的条件必须写在 Where 子句的末尾.HAVING 最后。
2、用 EXISTS 替代 IN、用 NOT EXISTS 替代 NOT IN。 3、 避免在索引列上使用计算
4、避免在索引列上使用 IS NULL 和 IS NOT NULL
5、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉
及的列上建立索引。
6、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃
使用索引而进行全表扫描
7、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用
索引而进行全表扫描
边栏推荐
猜你喜欢

Student attendance system for C language course (big homework)

ManageEngine卓豪助您符合ISO 20000标准(四)

B-tree series
![[ITSM] what is ITSM and why does it department need ITSM](/img/e1/85b5f00f124829b6a6b40c5cf621bd.png)
[ITSM] what is ITSM and why does it department need ITSM
![[automatic operation and maintenance] what is the use of the automatic operation and maintenance platform](/img/14/756d566744d6e4a988a284c5b30130.png)
[automatic operation and maintenance] what is the use of the automatic operation and maintenance platform
![[unity shader custom material panel part II]](/img/d1/8632ae680299a27b7431b2d6e03fd3.png)
[unity shader custom material panel part II]

概率论学习笔记

VS2019如何永久配置本地OpenCV4.5.5使用
![[unity shader stroke effect _ case sharing first]](/img/bd/5cd1bef24e6b6378854114c2c05bd9.png)
[unity shader stroke effect _ case sharing first]

Picture server project test
随机推荐
【企业数据安全】升级备份策略 保障企业数据安全
基金定投是高风险产品吗?
做技术,自信不可或缺
Free trial of self-developed software noisecreater1.1
VS2019如何永久配置本地OpenCV4.5.5使用
【#Unity Shader#自定义材质面板_第一篇】
Promise
PAT (Advanced Level) Practice 1057 Stack
【自动化运维】自动化运维平台有什么用
C语言课设工资管理系统(大作业)
[postgraduate entrance examination advanced mathematics Wu Zhongxiang +880 version for personal use] advanced mathematics Chapter II Basic Stage mind map
SystemVerilog learning-08-random constraints and thread control
Internet worm
Camouflage request header Library: Anti useragent
@Propagation property of transactional requires_ New in-depth understanding
Redis安装到Windows系统上的详细步骤
C语言课设物业费管理系统(大作业)
JMM details
局域网监控软件有哪些功能
DSBridge