一、前言
我们在做系统的过程中,难免会遇到页面查询速度慢,性能差的问题,当遇到这些问题时,我们就不得不想到SQL优化
。SQL优化
可以有效的提升系统的性能提高用户的体验,降低资源消耗比如CPU的使用率、内存消耗的情况,从而能够支持更大规模的数据。但是SQL优化
是要分阶段
的,只有在某个阶段中优化遇到了瓶颈,才会进入下个阶段寻找优化的点。
二、数据准备
如果你没有大数据量进行测试,可以通过下面的存储过程生成白玩甚至是千万级别的数据量。代码如下:
-- 创建班级表
CREATE TABLE class (
class_id INT PRIMARY KEY,
class_name VARCHAR(50) NOT NULL
);
-- 创建课程表
CREATE TABLE course (
course_id INT PRIMARY KEY,
course_name VARCHAR(50) NOT NULL
);
-- 创建学生表,并将班级表和课程表作为外键关联
CREATE TABLE student (
student_id INT PRIMARY KEY,
student_name VARCHAR(50) NOT NULL,
age INT,
gender VARCHAR(10),
class_id INT,
course_id INT,
create)time DATETIME,
FOREIGN KEY (class_id) REFERENCES class(class_id),
FOREIGN KEY (course_id) REFERENCES course(course_id)
);
-- 生成100w数据的存储过程
CREATE PROCEDURE InsertTestData2()
BEGIN
DECLARE i INT DEFAULT 1;
WHILE i