首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

知识点找回2.0

数据库优化 定位: 查找,定位慢查询,并优化。 创建索引,创建合适的索引,就可以在索引中查询,查询到以后直接找对应的记录。...定位,查找,定位慢查询, 在项目自验项目测试之前,在启动mysql数据库时开启慢查询,并把查询慢的语句写到日志中,并运行一定时间后,通过日志找到慢查询语句。 数据库优化之遵循方式。...4.0 Myisam不支持外键,Innodb支持外键(通常不设置外键,通常在程序中保持数据一致。) 索引,帮助DBMS高效获取数据的数据结构。 分类:普通索引/唯一索引/主键索引/全局索引。...普通索引:允许出现重复的值。 唯一索引:除了不能有重复的记录外,其它和普通索引一样(用户名,用户身份证。) 主键索引:随着设定主键而创建,也就是把某列设为主键的时候,数据库就会给该列设为索引。...如果一张表中的数据字段非常多(长文本,二进制等),并且只有很少的情况下会查询。这个时候就可以把字段多个单独放到一个表,通过外键关联。

62010

告诉你38个MySQL数据库的小技巧!

添加唯一性的主键约束时, 往往需要设置字段自动增加属性。...即查询时,根据当前时区的不同,显示的时间值是不同的。 10、选择数据类型的方法和技巧是什么? MySQL提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应使用 最精确的类型。...在双机热备情况下,可以使用MySQL的二进制日志记录数据的变更,然后将变 更部分复制到备份服务器上。 36、如何使用慢查询日志? 慢查询日志主要用来记录查询时间较长的日志。...在开发环境下,可以开启慢查询日志来记 录查询时间较长的查询语句,然后对这些语句进行优化。通过配long_query_time的值,可以灵活地掌握不同程度的慢查询语句。...38、如何使用查询缓冲区? 查询缓冲区可以提高查询的速度,但是这种方式只适合查询语句比较多、更新语句比较少 的情况。默认情况下查询缓冲区的大小为〇,也就是不可用。

2.6K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL数据库实用技巧

    添加唯一性的主键约束时, 往往需要设置字段自动增加属性。...即查询时,根据当前时区的不同,显示的时间值是不同的。 10、选择数据类型的方法和技巧是什么?   MySQL提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应使用 最精确的类型。...在双机热备情况下,可以使用MySQL的二进制日志记录数据的变更,然后将变更部分复制到备份服务器上。 36、如何使用慢查询日志? 慢查询日志主要用来记录查询时间较长的日志。...在开发环境下,可以开启慢查询日志来记 录查询时间较长的查询语句,然后对这些语句进行优化。通过配long_query_time的值,可以灵活地掌握不同程度的慢查询语句。...38、如何使用查询缓冲区?   查询缓冲区可以提高查询的速度,但是这种方式只适合查询语句比较多、更新语句比较少的情况。默认情况下查询缓冲区的大小为0,也就是不可用。

    2.5K10

    告诉你 38 个 MySQL 数据库的小技巧!

    06 每个表中都要有一个主键吗? 并不是每一个表中都需要主键,一般的,如果多个表之间进行连接操作时,需要用到主键。因此并不需要为每个表建立主键,而且有些情况最好不使用主键。...即查询时,根据当前时区的不同,显示的时间值是不同的。 10 选择数据类型的方法和技巧是什么? MySQL 提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应使用 最精确的类型。...函数限制比较多,不能用临时表,只能用表变量,还有一些函数都不可用等等;而存储过程的限制相对就比较少。...在双机热备情况下,可以使用MySQL的二进制日志记录数据的变更,然后将变 更部分复制到备份服务器上。 36 如何使用慢查询日志 慢查询日志主要用来记录查询时间较长的日志。...在开发环境下,可以开启慢查询日志来记 录查询时间较长的查询语句,然后对这些语句进行优化。通过配 long_query_time 的值,可以灵活地掌握不同程度的慢查询语句。

    2.6K40

    37 个 MySQL 数据库小技巧,不看别后悔!

    添加唯一性的主键约束时, 往往需要设置字段自动增加属性。...即查询时,根据当前时区的不同,显示的时间值是不同的。 10、选择数据类型的方法和技巧是什么? MySQL提供了大量的数据类型,为了优化存储,提高数据库性能,在任何情况下均应使用 最精确的类型。...函数限制比较多,不能用临时表,只能用表变量,还有一些函数都不可用等等;而存储过程的限制相对就比较少。...在双机热备情况下,可以使用MySQL的二进制日志记录数据的变更,然后将变 更部分复制到备份服务器上。 36、如何使用慢查询日志? 慢查询日志主要用来记录查询时间较长的日志。...在开发环境下,可以开启慢查询日志来记 录查询时间较长的查询语句,然后对这些语句进行优化。通过配long_query_time的值,可以灵活地掌握不同程度的慢查询语句。

    1.8K20

    java架构之路-(面试篇)Mysql面试大全

    说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。...:该字段没有重复值,但可以有空值     作用:       主键:用来保证数据完整性       外键:用来和其他表建立联系用的       索引:是提高查询排序的速度     个数:       ...主键:主键只能有一个       外键:一个表可以有多个外键       索引:一个表可以有多个唯一索引 ?...11.优化SQL的方法 答:设置一个主键索引,需主要主键索引一般没有真正业务含义,使用int类型自动增长的,而且不能为null,非主键索引字段优先考虑区分度高的业务情况和最左前缀原则,设置为null。...答:有2种方式,一是修改mysql的配置文件,二是通过set global语句来实现。

    64110

    java架构教你怎么用mysql怒怼面试官

    说一下mysql比较宏观的面试,具体咋写sql的这里就不过多举例了。后面我还会给出一个关于mysql面试优化的试题,这里主要说的索引和B+Tree结构,很少提到我们的集群配置优化方案。...5.主键、外键和唯一索引的区别 答: 定义: 主键:唯一标识一条记录,不能有重复的,不允许为空 外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值 索引:该字段没有重复值,但可以有一个空值...作用: 主键:用来保证数据完整性 外键:用来和其他表建立联系用的 索引:是提高查询排序的速度 个数: 主键:主键只能有一个 外键:一个表可以有多个外键 索引:一个表可以有多个唯一索引 ?...11.优化SQL的方法 答:设置一个主键索引,需主要主键索引一般没有真正业务含义,使用int类型自动增长的,而且不能为null,非主键索引字段优先考虑区分度高的业务情况和最左前缀原则,设置为null。...类型数据在数据库中存储的最大长度,超过则不存; 16 .如何开启慢日志查询?

    1.2K00

    【MySQL】深入了解索引背后的内部结构

    索引的认识: 索引是数据库中的一个数据结构,用于加速查询操作。 作用: 数据库中的表、数据、索引之间的关系,类似于书架上的图书、书籍内容和书籍目录的关系。...但如果给它加上标签的话,就一下可以找到你想搜索的东西,所有它大大提高了我们的查询速度。 索引可以提高查询速度,但可能会拖慢增删改的速度,后续对数据进行增删改的操作,都是要同步索引的。...最坏情况下,设置哈希桶上的每个链表长度为M,O(M)也是近视O(1)。...(不存储数据) 叶子节点链接 无链接 叶子节点通过链表连接 查询效率 适合单点查询 更适合范围查询 范围查询性能 较差 非常高效(通过叶子节点链表) 树的高度 相对较高 较低 内存/磁盘利用 内存和磁盘利用相对较低...; 因此需要遍历俩次B+树,第一次找到主键Id,再在主键Id的B+树找到对应的值; 总结: 没有索引的情况下,MySQL 只能通过全表扫描来查找数据,效率较低,尤其在表的数据量较大时。

    6810

    Java面试——数据库

    慢查询次数; 【2】查询执行效率较低的 sql 语句:   ■ 通过慢查询日志定位那些执行效率较低的 sql 语句,用 --log-slow-queries[=file_name] 选项启动时,mysqld...MySql 索引原理参考博客 【MySql索引的类型】:【1】普通索引 index:加速查找 【2】唯一索引:①、主键索引:primary key:加速查找+主键唯一约束且不为空。  ...0,那可能有人会问,这个比例有什么经验值吗?...2)、在保证主键有效的情况下,检查主键索引的字段顺序,使得查询语句中条件的字段顺序和主键索引的字段顺序保持一致。...【2】查询日志:记录所有对数据库请求的信息,不论这些请求是否得到了正确的执行。 【3】慢查询日志:设置一个阈值,将运行时间超过该值的所有 SQL 语句都记录到慢查询的日志文件中。

    59741

    (建议收藏)如何处理 openGauss 上遇到的慢 SQL

    dbe_perf.statement_history order by start_time desc; 有了上述方法,我们就可以轻易在 openGauss 数据库中监控到慢 SQL 了,接下来可以通过下文的方法来分析慢...这包括允许使用的最大资源(主要是内存)、以及资源的使用方式等。除了调整资源配置,有些情况下还需要配置数据库优化器 Cost Model 的代价值。...因此,对于复杂语句较多的场景,可以适当增加该参数值。 除了上述列出来的可能会影响 SQL 语句执行表现的系统参数外,还有很多参数可能会产生影响。不过,影响概率会小很多。...当然,除了上面列出的情况外,还存在并发量接近或超过系统负荷导致的性能下降和拒绝服务。例如,大量复杂查询语句对 CPU 资源的竞争、大并发情况下引起数据库的响应时间变慢等。...用户可以直接通过下述命令查看 exporter 的启动参数: openGauss-exporter: 用于采集数据库指标,除常规指标外,还能监控慢SQL、系统配置等。

    2K20

    数据库知识整理

    此外,以下几个参数便于用户了解数据库的基本情况: 1)、Connections : 试图连接 mysql 服务器的次数 2)、Uptime : 服务器工作时间 3)、Slow_queries:慢查询次数...■ 慢查询日志在查询结束以后才记录,所以在应用反映执行效率出现问题的时候慢查询日志并不能定位问题,可以使用 show processlist 命令查看当前 mysql 在进行的线程,包括线程的状态、是否锁表等...这里提供两个解决数据库死锁的方法: ①、重启数据库。②、杀掉抢资源的进程 8、Mysql的索引原理,索引的类型有哪些,如何创建合理的索引,索引如何优化。...MySql索引的类型: 1)、普通索引 index:加速查找 2)、唯一索引:①、主键索引:primary key:加速查找+主键唯一约束且不为空。...2)、在保证主键有效的情况下,检查主键索引的字段顺序,使得查询语句中条件的字段顺序和主键索引的字段顺序保持一致。

    79900

    Mysql面试一百问

    索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3....那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询....不可重复读: 当设置A事务只能读取B事务已经提交的部分,会造成在A事务内的两次查询,结果竟然不一样,因为在此期间B事务进行了提交操作....关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    80830

    MySQL面试高频100问(工程师方向)

    索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3....那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询.....而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低....关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    57520

    MySQL 面试高频一百问

    索引的数据结构和具体存储引擎的实现有关,在 MySQL 中使用较多的索引有 Hash 索引,B+ 树索引等,而我们经常使用的 InnoDB 存储引擎的默认索引实现为:B+ 树索引。...那么可以看出他们有以下的不同: hash 索引进行等值查询更快(一般情况下),但是却无法进行范围查询。...「关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?」...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?...第二范式: 非主键列完全依赖于主键,而不能是依赖于主键的一部分。第三范式: 非主键列只依赖于主键,不依赖于其他非主键。 在设计数据库结构的时候,要尽量遵守三范式,如果不遵守,必须有足够的理由。

    89730

    写给工程师的 MySQL 面试高频 100 问!

    前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水....索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3....那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询....关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    56920

    MySQL DBA面试高频三十问

    索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3、Hash索引和B+树所有有什么区别或者说优劣呢....而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低....InnoDB默认使用的是可重复读隔离级别. 6、对MySQL的锁了解吗? 当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制....解决超大分页,其实主要是靠缓存,可预测性的提前查到内容,缓存至redis等k-V数据库中,直接返回即可. 5、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    2.9K31

    MySQL 高频面试题,都在这了

    前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水....索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3.....而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低....关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    92771

    MySQL面试高频一百问

    索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引. 3....那么可以看出他们有以下的不同: hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询.....而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低....关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?...在业务系统中,除了使用主键进行的查询,其他的我都会在测试库上测试其耗时,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们. 慢查询的优化首先要搞明白慢的原因是什么?

    80520

    03-面试必会-Mysql篇

    MYSQL 索引主要有 : 单列索引 , 组合索引和空间索引 , 用的比较多的就是单列索引和组合索引 , 空间索引我这边没有用到过 单列索引 : 在 MYSQL 数据库表的某一列上面创建的索引叫单列索引...组合索引 : 在 MYSQL 数据库表的多个字段组合上创建的索引 , 称为组合索引也叫联合索引 组合索引的使用,需要遵循左前缀原则 一般情况下,建议使用组合索引代替单列索引(主键索引除外)...MYSQL 支持的存储引擎有哪些, 有什么区别 ?...MYSQL 不是跳过 offset 行, 而是取 offset+N 行, 然后放弃前 offset 行 , 返回 N 行, 所以当 offset 比较法的情况下分页效率很低 正确的处理方法是 : 先快速定位需要获取的...可以在 MYSQL 配置文件中开启慢查询 , 有两种方式可以开启慢查询 方式一 : 修改my.ini配置文件 , 重启 MySQL 生效 [mysqld] log_output='FILE,TABLE'

    25110

    Mysql高频面试题

    在缺省模式下,MYSQL 是 autocommit 模式的,所有的数据库更新操作都会即时提交,所 以在缺省情况下,mysql 是不支持事务的。...实现 Mybatis 的 Interceptor 接口并复写 intercept()方法,然后在给插件编写注解,指定 要拦截哪一个接口的哪些方法即可,记住,别忘了在配置文件中配置你编写的插件。...答:索引的数据结构和具体存储引擎的实现有关, 在MySQL中使用较多的索引有Hash索引,B+树索引等。 而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引。...18、对MySQL的锁了解吗? 答:当数据库有并发事务的时候,可能会产生数据的不一致,这时候需要一些机制来保证访问的次序,锁机制就是这样的一个机制。...7、查看 mysql 执行日志,看看是否有其他方面的问题。 上面我将 explain 关键字加粗显示,就是很多面试官他并不直接问你 sql 优化,他会问你知道什么是 mysql 的执行计划吗?

    86010
    领券