提高SQL查询效率1——验证索引的有效性

在大数据量的SQL表中,往往会出现一些查询效率低的问题,耗时,如果解决这里问题呢?本文主要探索索引在提高SQL效率的有效性

目录

1、创建数据表

 2、为建立索引之前,查看执行效率

3、给Name建立索引

4、查看索引


1、创建数据表

我让chatgpt帮我创建了一张一万条数据的表,你们可以创建的多一点,效果更明显

CREATE TABLE BigDataTable (
    ID INT PRIMARY KEY,
    Name VARCHAR(100),
    Description TEXT,
    CreatedDate DATE,
    Value DECIMAL(10, 2)
);


-- 插入大约一万行数据
INSERT INTO BigDataTable (ID, Name, Description, CreatedDate, Value)
SELECT 
    n, 
    CONCAT('Name', n), 
    CONCAT('Description for entry ', n), 
    DATE_ADD('2020-01-01', INTERVAL n DAY),
    RAND() * 1000
FROM 
    (SELECT t0.n + t1.n * 10 + t2.n * 100 + t3.n * 1000 AS n
     FROM 
         (SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS t0,
         (SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS t1,
         (SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS t2,
         (SELECT 0 AS n UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) AS t3) AS numbers
WHERE n < 10000;

 2、为建立索引之前,查看执行效率

select * from BigDataTable where id=1;

 select * from BigDataTable where Name='Name10';

我们会看到检索id比检索Name更快(如果数据量更大的话,效率差距会更明显的),这里的原因是,在创建表的时候id是主键,主键直接就是创建了索引,也就是主键索引。所以比Name快。那么如何提升查询速度呢?我们可以给Name字段建立索引。

3、给Name建立索引

create index index_Name on BigDataTable(Name);

 当我们再一次使用查询语句的时候会发现使用时间变短了,由此也验证了索引的效率

4、查看索引

 explain select * from BigDataTable where Name='Name1' and id=1;

发现Name和id都是索引,表里面的字段含义可以看上一篇文章Explain字段含义

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/410110.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

AI书籍推荐 | 使用 ChatGPT MILLIONAIRE 指南走向财务自由

本文中的链接若打不开&#xff0c;您可能需要科学上网哦&#xff01; 跳进数字时代的大潮&#xff0c;想把握住人工智能带来的财富机会&#xff1f; 那就别眨眼&#xff01;一本名为《ChatGPT MILLIONAIRE》的书籍&#xff0c;你可以了解一下。从Chat GPT精通系列来袭&#x…

office word保存pdf高质量设置

1 采用第三方pdf功能生成 分辨率越大质量越好

flutter简单的MethodChannel通道Demo(引入调用小红书sdk)

flutter端创建MethodChannel类 import package:flutter/services.dart;//MethodChannel const methodChannel const MethodChannel(com.flutter.demo.MethodChannel);class FlutterMethodChannel {/** MethodChannel flutter给原生发信息* 在方法通道上调用方法invokeMethod*…

一种基于道路分类特性的超快速车道检测算法

摘要&#xff1a; 本文介绍了一种新颖、简单但有效的车道检测公式。 车道检测是自动驾驶和高级驾驶员辅助系统 (ADAS) 的基本组成部分&#xff0c;在实际高阶驾驶辅助应用中&#xff0c;考虑车道保持、转向、限速等相关的控制问题&#xff0c;这种方式通常是通过受限的车辆计算…

【牛客】2024牛客寒假算法基础集训营6ABCDEGHIJ

文章目录 A 宇宙的终结题目大意主要思路代码 B 爱恨的纠葛题目大意主要思路代码 C 心绪的解剖题目大意主要思路代码 D 友谊的套路题目大意主要思路代码 E 未来的预言题目大意主要思路代码 G 人生的起落题目大意主要思路代码 I 时空的交织题目大意主要思路代码 J 绝妙的平衡题目…

Kotlin 进阶版 协程

kotlin是协程的一种实现 Dispatchers.IO&#xff1a;适用于执行磁盘或网络 I/O 操作的调度器&#xff0c;例如文件读写、网络请求等。在 Android 中&#xff0c;Dispatchers.IO 会使用一个专门的线程池来处理这些操作&#xff0c;以防止阻塞主线程。 Dispatchers.Main&#xf…

幻兽帕鲁服务器多少钱?有买过的吗?

幻兽帕鲁服务器多少钱&#xff1f;太卷了&#xff0c;降价到24元1个月&#xff0c;阿里云4核16G10M游戏服务器26元1个月、149元半年&#xff0c;腾讯云4核16G游戏服务器32元、312元一年&#xff0c;华为云26元&#xff0c;京东云主机也是26元起。云服务器吧yunfuwuqiba.com给大…

[RCTF2015]EasySQL1 题目分析与详解

一、题目介绍&#xff1a; 1、题目来源&#xff1a; BUUCTF网址 2、题目介绍&#xff1a; 拿到flag。 二、解题思路&#xff1a; 我们发现题目首页有登录和注册账号两个选项&#xff0c;我们首先尝试注册账号&#xff0c;尝试注册username为admin的账号&#xff0c;输入密码…

这10款设计工具,助你轻松搞定主视觉设计!

我们浏览网站、App或其他数字产品时&#xff0c;页面或屏幕上最显著最重要的部分&#xff0c;比如设计风格、颜色、排版、图片和元素等信息&#xff0c;就是数字产品的主视觉&#xff0c;也是用户首次接触产品时最能直观感受的部分。 由此可见&#xff0c;主视觉设计有多重要&…

【大数据】Flink 内存管理(四):TaskManager 内存分配(实战篇)

《Flink 内存管理》系列&#xff08;已完结&#xff09;&#xff0c;共包含以下 4 篇文章&#xff1a; Flink 内存管理&#xff08;一&#xff09;&#xff1a;设置 Flink 进程内存Flink 内存管理&#xff08;二&#xff09;&#xff1a;JobManager 内存分配&#xff08;含实际…

PyTorch中Tensor(张量)数据结构内部观察

上图中是一个张量embeds&#xff0c;打开其内部存储空间&#xff0c;我们可以看到内部的构成。在PyTorch中&#xff0c;Tensor 具有许多属性和方法。以下是其中一些关键的属性和方法&#xff1a; 属性&#xff1a; H&#xff1a; 在标准的PyTorch API中并没有直接表示为 .H 的…

IO进程线程:共享内存

shmsnd.c #include<myhead.h> #define PAGE_SIZE 4096 //一页的大小 int main(int argc, const char *argv[]) {//1.创建key值key_t key-1;if((keyftok("/",k))-1){perror("ftok error");return -1;}printf("key%d\n",key);//2.通过key…

【计算机网络】传输层——TCP和UDP详解

文章目录 一. TCP和UDP简介二. UDP 协议详解1. UDP报文格式2. UDP的使用场景 三. TCP 协议详解1. TCP报文格式2. TCP协议的重要机制确认应答&#xff08;保证可靠传输的最核心机制&#xff09;超时重传连接管理&#xff08;三次握手、四次挥手&#xff09;&#xff01;&#xf…

C语言 int和unsigned int逻辑比较

文章目录 测试1、测试 CMP (int,int)2、测试 CMP (int ,unsigned int)3、测试 CMP (unsigned int ,unsigned int) 总结 测试 在IAR(8.40.2)平台下测试单片机为STM32F103ZET6 1、测试 CMP (int,int) //a -2,b 3 int test_fun(int a, int b) {if(a>b){return 1;}else{re…

[力扣 Hot100]Day35 LRU 缓存

题目描述 请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 实现 LRUCache 类&#xff1a; LRUCache(int capacity) 以 正整数 作为容量 capacity 初始化 LRU 缓存 int get(int key) 如果关键字 key 存在于缓存中&#xff0c;则返回关键字的值&#xff0c;否…

Linux7.9环境源码编译安装ffmpeg6.x

1.官网ffmpeg下载源码 https://ffmpeg.org/download.html#build-windows 2.未安装x264库则先安装配置 可以先查询x264库: whereis libx264 安装编译工具和依赖库&#xff1a; sudo yum install gcc make cmake mercurial git yasm pkgconfig autoconf automake libtool sudo…

【每日一题】938. 二叉搜索树的范围和-2024.2.26

题目&#xff1a; 938. 二叉搜索树的范围和 给定二叉搜索树的根结点 root&#xff0c;返回值位于范围 [low, high] 之间的所有结点的值的和。 示例 1&#xff1a; 输入&#xff1a;root [10,5,15,3,7,null,18], low 7, high 15 输出&#xff1a;32示例 2&#xff1a; 输入…

Python实用技巧:输出列表(list)的倒序/逆序的几种方法

Python实用技巧&#xff1a;输出列表&#xff08;list&#xff09;的倒序/逆序的几种方法 &#x1f4c5;2024年02月25日 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质…

力扣随笔之寻找重复数(中等287)

思路1&#xff1a;暴力解法&#xff0c;根据要求不修改数组且只用常量级O(1)的额外空间&#xff0c;我们写两层嵌套循环&#xff0c;寻找重复的数;可以解决部分问题&#xff0c;但会超出时间限制无论Java还是C; Java实现&#xff1a; class Solution {public int findDuplicat…

第四节:Vben Admin登录对接后端getUserInfo接口

系列文章目录 第一节&#xff1a;Vben Admin介绍和初次运行 第二节&#xff1a;Vben Admin 登录逻辑梳理和对接后端准备 第三节&#xff1a;Vben Admin登录对接后端login接口 第四节&#xff1a;Vben Admin登录对接后端getUserInfo接口 文章目录 系列文章目录前言一、回顾Vben…