SQL
vinojie
这个作者很懒,什么都没留下…
展开
-
SQL面试题:一条SQL语句执行很慢的原因?
分类讨论:一条SQL语句执行的很慢可以分为以下两种情况:偶尔会出现很慢的情况,大多数是正常的在数据量量不变的情况下,这条SQL语句一直以来都执行的很慢。针对第一种情况的原因有:⼀条 SQL ⼤多数情况正常,偶尔才能出现很慢的情况,针对这种情况,我觉得这条SQL语句的书写本身是没什么问题的,⽽是其他原因导致的,那会是什么原因呢?1、数据库在刷新脏页mySQL脏页:当内存数据页和磁盘数据页上的内容不一致时,我们称这个内存页为脏页;内存数据写入磁盘后,内存页上的数据和磁盘页上的数据就一致了,我原创 2020-06-10 11:48:04 · 476 阅读 · 0 评论 -
深入理解MySQL用户自定义变量及示例讲解
一,前言之前在做题过程中经常碰到可以使用变量解决的问题,以下对这些问题及用户自定义变量做个总结。首先看一个例题:活跃用户表 Accounts:+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || name | varchar |+---------------+---------+id 是该表主键.该表包原创 2020-06-05 10:00:37 · 568 阅读 · 0 评论 -
如何解决SQL中求平均值的问题
SQL中求平均值得问题可能用到的聚合函数:AVG() :求列的平均值SUM():求和行的和COUNT():计算行的数目ROUND():结果保留几位小数,例:ROUND(a,2)保留两位小数下面看一个例题:Table: Prices+---------------+---------+| Column Name | Type |+---------------+---------+| product_id | int || start_date | dat原创 2020-05-26 08:59:39 · 23883 阅读 · 1 评论 -
SQL面试题之自连接和关联子查询
SQL关联子查询和自连接例题原创 2020-05-25 14:32:46 · 857 阅读 · 0 评论 -
SQL面试题--行转列及case when的使用
SQL中case when语句的使用,以及如何将行转化成列原创 2020-05-24 19:43:08 · 534 阅读 · 0 评论 -
从索引背后的机制理解MySQL索引使用策略及优化
MySQL的优化主要分为结构优化和查询优化。本文讨论的高性能索引优化策略主要属于结构优化范畴。本文的呢绒完全基于[这篇文章的理论基础](https://blog.csdn.net/vinojie/article/details/106234694),只要我们理解了索引背后的机制,那么选择高性能的策略就变成了纯粹的推理,并且可以理解这些策略背后的逻辑。原创 2020-05-22 14:57:24 · 196 阅读 · 0 评论 -
从数据结构与算法的角度理解MySQL
MySQL支持诸多存储引擎,各种存储引擎对索引的支持也各不相同,正因为如此MySQL数据库支持多种索引类型,如B-Tree索引,哈希索引,全文索引等等。本文只关注B-Tree索引。文章分为两个个部分;1、MySQL数据库索引背后的数据结构与算法原理;2、结合MySQL数据库中MyISAM和InnoDB数据存储引擎中索引的架构实现讨论聚集索引、非聚集索引及覆盖索引等话题。原创 2020-05-20 14:42:54 · 266 阅读 · 0 评论 -
分表分库和分区表---MySQL
MySQL分库分表和分区表的区别和各自特点。原创 2020-04-26 21:21:51 · 408 阅读 · 0 评论 -
如何创建MySQL高性能的索引
索引(在MySQL中也叫做“键(key)“是存储引擎用于快速找到记录的一种数据结构。如何创建好的索引是非常重要的。原创 2020-04-21 10:13:59 · 94 阅读 · 0 评论 -
MySQL---Schema与数据类型优化
良好的逻辑设计和物理设计是高性能的基石,应该根据系统要执行的查询语句来设计schema。什么是schema?MySQL官方文档指出,从概念上讲,schema是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等等。但是从物理层面上来说,模式与数据库是同义的。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE ...原创 2020-04-16 08:18:25 · 173 阅读 · 0 评论 -
超全Mysql面试题及数据库基础知识总结
数据库、MySQl常见面试题及基础知识总结。字数较多,建议收藏后再看..原创 2020-04-13 07:32:06 · 1533 阅读 · 1 评论 -
SQL面试题(交换数字)
方法一:使用case,当id是奇数,将其id换成id+1,当id是偶数,将其换成id-1,当id是最后一个奇数时不变。SELECT (CASE WHEN MOD(id, 2) != 0 AND countsw != id THEN id + 1 WHEN MOD(id, 2) != 0 AND countsw = id THEN id E...原创 2020-04-05 10:57:13 · 311 阅读 · 0 评论