首页 > 数据库 >mysql学习整理所有问题

mysql学习整理所有问题

时间:2024-03-16 14:00:13浏览次数:27  
标签:优化 数据库 使用 查询 学习 索引 mysql 整理 where

mysql中的者则表达式(也算做是模糊查询)

使用//.来匹配有.的字符

 数字或者字母后边加上?表示数字或者字母可选还是不可选

 

 拼接字符串concat()

 

 文本处理函数

 

 同时指定两个列进行全文搜索(前提是这两个列必须增加索引)和against(“” in boolen mode)进行连用

 使用存储过程

 其中onumber入参,taxable入参,ototal出参

declare 声名参数

  处理数据库分页问题

 

 2.深层次理解数据库
也是基于tcpIP协议的,基于Unix的嵌套字文件
InnoDB数据库引擎

 

常数表达式

 

 

isNull是全表扫描所以需要优化

in和多个or是有区别,in中使用的是二分查找树发

关联查询优化器:
在多个表进行关联的时候,优化器会自动筛选出数据库的表进行二叉树的最优解

关系型数据库和非关系型数据库
为什么加对应的字段,因为要将读取出的数据并保存到内存中去(降低内存)
orm对象关系映射和类进行对应    
数据库语言分类
1.DDL数据库定义语言
2.数据库操纵语言
3.数据库控制语言
dual伪表
5.7版本Limit 0,20 跳过 0 条显示20
8.0 版本 Limit 20 offset 0

加密

自然链接和using链接 字段一致的时候使用

需要设置 

truncate table 的效率比delete效率快

mysql8.0 :的原子化的特性新增特性
计算列




全文检索

数据库性能优化:
索引的底层结构是通过B+树进行构建的,
1.聚簇索引

在我们添加主键的时候会自动生成索引,并且它的结构是:

二分查找法,在索引的页中会保存子页的页码以及主键对应的值
2.非聚簇索引

二分查找法,在索引的页中会保存子页的页码以及字段对应的值
3.复合索引

二分查找法,在索引的页中会保存子页的页码以及按顺序的字段对应的值

应用方式,不管是增删改查where条件后面的都要加上对应的索引

因为:sql是先执行 from 后 where的字敦 在修改和删除的时候可以看成是先查询,只要查询就要增加索引进行查询

在join的时候使用using和on后面链接的字段类型必须一致:因为如果不一致存在类型转换的话那么索引将会失效,失效是指where条件之后的索引失效

第一1000行数据时候不需要创建索引,有大量重复数据的时候不需要创建索引

避免对频繁更新的表创建过多的索引

避免用无序的值生成索引

不用的索引要删除掉

不要定义冗余的索引

查询数据所保存的所有的数据页:最后一次查询的开销

使用慢查询来优化数据库:

1.开启慢查询日志

此时状态为未开启

开启

查看日志参数:开启状态,开启文件

永久设置日志:修改配置

真正的优化,索引失效:

1.where 后面的字段是运算符

2.where后面有or的时候所有字段要都有索引

3.模糊查询以%开头

4.有比较运算符号

5.!=的情况下不能使用索引

6.is null 能使用索引,is not null 不能使用索引

7.联合索引最左原则

标签:优化,数据库,使用,查询,学习,索引,mysql,整理,where
From: https://www.cnblogs.com/wuqihe/p/18054772

相关文章

  • C++示例:学习C++标准库,std::unordered_map无序关联容器的使用
    01std::unordered_map介绍std::unordered_map是C++标准库中的一种无序关联容器模板类,它提供了一种将键映射到值的方法。它的底层基于哈希表实现,内容是无序的,可以在平均情况下在O(1)的时间复杂度内完成插入、查找和删除操作。值得注意的是,哈希表可能存在冲突,即不同的键值......
  • Java学习笔记——第十七天
    File、IO流(一)为什么要有文件存储数据的方案变量、数组、内存和集合它们都是内存中的数据容器,这些数据在断电或程序终止时会丢失。文件文件是非常重要的存储方式。它们存储在计算机硬盘中,即便断电,或者程序终止了,存储在硬盘文件中的数据也不会丢失。File和IO流概述FileFil......
  • 51单片机学习
    单片机介绍是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而......
  • 如何提高工作/学习效率—管理好网站资源与资料文件
          在日常的学习和工作中,我们经常要利用互联网(百度、博客等),那我们怎么样才能高效快捷的利用好网络资源呢?小编今天在这里为大家分享一下自己的方法,管理好网站资源与资料文件,如有不同见解,恳请指教~        最常用的搜索网站就是百度了,当我们需要使用博客......
  • ssm/php/node/python学生出国境学习交流管理
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着全球化的不断深入,学生出国境学习交流已成为教育国际化的一个重要组成部分。管理87153课程针对的是那些计划或正在参与跨国学术活动的学生,其核心目的......
  • ssm/php/node/python学生党员学习系统
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:在当今时代,随着信息技术的迅猛发展,网络平台已成为知识传播和学习交流的重要场所。特别是对于学生党员而言,他们作为党和国家未来的栋梁之才,不仅需要系统......
  • 深度学习(混合精度训练)
    混合精度训练通常会结合使用单精度浮点数(float32)和半精度浮点数(float16),以提高训练效率和减少内存占用。代码中关键在于两个地方:1.在withautocast():下,模型的前向传播和损失计算放在自动混合精度加速环境中进行。2.使用scaler对象进行混合精度训练的管理。通过这种方式,混合......
  • 数据量大的时候,要使用 redis 而不用 mysql
    Redis和MySQL都是广泛使用的数据库,但它们适用于不同的场景和需求。MySQL是一个关系型数据库,它适用于存储大量的结构化数据,并且提供复杂的数据查询和事务处理能力。它适合于需要进行深度数据分析和复杂joins的场景。Redis是一个内存中的数据结构存储系统,通常用作数据库、缓......
  • 浅析MySQL中的ACID实现
    浅析MySQL中的ACID实现一、原子性(Atomicity)二、一致性(Consistency)三、隔离性(Isolation)事务隔离级别隔离性实现四、持久性(Durability)五、技术总结日志系统并发控制机制事务管理与状态跟踪故障恢复机制MySQL的InnoDB存储引擎通过多种底层机制来实现ACID......
  • 机器学习模型—CatBoost
    机器学习模型—CatBoost作为俄罗斯科技公司Yandex推出的开源机器学习库,CatBoost可以说是当前GradientBoosting算法发展的新里程碑。相较于广为人知的XGBoost,CatBoost在处理类别特征、纵向样本采样和有序训练数据方面做出了创新性的改进,展现了卓越的性能。我们经常遇到......