Python数据库编程之索引

该博客通过Python SQL操作和ORM方式探讨了数据库索引的作用和应用场合。实验对比了在学生表中添加score字段索引前后的查询效率,强调了索引在大量数据查询时能显著提升性能。
摘要由CSDN通过智能技术生成


实验要求

实验目的:是为了理解index在数据库的作用,理解index的应用场合

  1. Python的SQL语句测试
    请创建两个一样的学生表
    学生表1,包含主键id(自增,学生id),学生姓名nane,学生成绩score
    学生表2,包含主键id(自增,学生id),学生姓名nane,学生成绩score
    请给学生表2的score添加index索引

关系型数据中加索引与不加索引的区别:
某个字段创建索引会生成关于该字段的树形结构
即当使用where条件是:例如:where score > 90

  • 不加索引: 顺序查找------>O(n)
  • 加索引   : 折半查找------>O(log2n)
  1. 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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胜天半月子

打不打商的无所谓,能帮到你就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值