实验要求
实验目的:是为了理解index在数据库的作用,理解index的应用场合
- Python的SQL语句测试
请创建两个一样的学生表
学生表1,包含主键id(自增,学生id),学生姓名nane,学生成绩score
学生表2,包含主键id(自增,学生id),学生姓名nane,学生成绩score
请给学生表2的score添加index索引
关系型数据中加索引与不加索引的区别:
某个字段创建索引会生成关于该字段的树形结构
即当使用where条件是:例如:where score > 90
- 不加索引: 顺序查找------>O(n)
- 加索引 : 折半查找------>O(log2n)
- Python的 ORM方式执行测试
请用ORM方式,在两个学生表中插入同样的数据-10万条,姓名生成采用汉字的随机组合方式,成绩采用0-100平均分布随机生成方式
对两个表同时执行查询大于95分成绩的学生,测试对score创建索引会不会带来查找时间效率的优势
一、SQL创建学生表
1.1 creat table
代码展示:
#Python 数据库
import pymysql
db = pymysql.connect(user='test',host='localhost', password='123456',database='testdb',charset='utf8')
cursor = db.cursor() #创建游标 游标的每个动作会执行到数据库里面
sql = """create table student1(
id int auto_increment primary key,
name varchar(20) not null,
score int) """
cursor.execute(sql)
sql = """create table student2(
id int auto_increment p