当前位置:网站首页>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 子句中对字段进行表达式操作,这将导致引擎放弃使用
索引而进行全表扫描
边栏推荐
猜你喜欢

谷粒商城-环境(p1-p27)

Picture server project test

【ITSM】什么是ITSM,IT部门为什么需要ITSM

C language course set up student elective course system (big homework)

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

关于变量是否线程安全的问题

【KV260】利用XADC生成芯片温度曲线图
![[network security tool] what is the use of USB control software](/img/cc/20fc1f35c139c52c5922727368b835.png)
[network security tool] what is the use of USB control software

C language course set up property fee management system (big work)

C语言课设销售管理系统设计(大作业)
随机推荐
TCL statements in SQL (transaction control statements)
What is a port scanning tool? What is the use of port scanning tools
[network security tool] what is the use of USB control software
虚幻 简单的屏幕雨滴后处理效果
async 与 await
考研目录链接
Redis安装到Windows系统上的详细步骤
【LeetCode】Day91-存在重复元素
SQL学习笔记九种连接2
[unity shader custom material panel part I]
Teach you how to implement a deep learning framework
手把手教你实现一个深度学习框架...
Free trial of self-developed software noisecreater1.1
Code power is full of quantitative learning | how to find a suitable financial announcement in the financial report
局域网监控软件有哪些功能
High order binary balanced tree
基金定投是高风险产品吗?
[automatic operation and maintenance] what is the use of the automatic operation and maintenance platform
sci-hub如何使用
数据库对象:视图学习记录