sqlserver 一个列上有多行重复数据 请问如何优化

xeppp 2011-05-23 02:36:36
例 如 一个表上 有 学生ID,学生姓名,教师姓名 等等

这个表上总是按照教师姓名 去查询 但是 教师名称有重复数据 一百万行 里有 一万是重复的 请问怎么优化呢?
...全文
261 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sql_xeppp 2011-05-23
  • 打赏
  • 举报
回复
刚才试了下 两个千万行级表 关联 操作 就是几秒 没有想像那么慢
xeppp 2011-05-23
  • 打赏
  • 举报
回复
试想一下 查询这个教师下的所有学生 select student_id,student_name from t where teacher_name = '李老师' 我加上索引了 看执行计划 走的 聚集索引 没走教师的索引
-晴天 2011-05-23
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xeppp 的回复:]
我也是后期才接手的 现在代码 都完成了 木已成舟了 只能做优化 只是想问问 这种方式 怎么样能提高效率
[/Quote]
1.对教师姓名列建索引
2.用 distinct 查询.
xeppp 2011-05-23
  • 打赏
  • 举报
回复
我也是后期才接手的 现在代码 都完成了 木已成舟了 只能做优化 只是想问问 这种方式 怎么样能提高效率
-晴天 2011-05-23
  • 打赏
  • 举报
回复
数据重复不正常,冗余太多.你应该从数据库设计基础入手,貌似你这个表的设计不符合3NF.
xeppp 2011-05-23
  • 打赏
  • 举报
回复
呵呵 数据重复是正常的
_风中的落叶 2011-05-23
  • 打赏
  • 举报
回复
看错了。。
_风中的落叶 2011-05-23
  • 打赏
  • 举报
回复
测试前可先备份表
select * into x from 表
要删除多余的行数可按下列步骤执行
alter table 表 add zid int identity(1,1)
delete 表 where zid not in(
select max(zID) from 表 group by 学生ID,学生姓名,教师姓名
having count(*)>1
) and zid not in (select max(zID) from 表 group by 学生ID,学生姓名,教师姓名
having count(*)=1)
alter table 表 drop column zID
xeppp 2011-05-23
  • 打赏
  • 举报
回复
事情是这样的 三个千万行级别的表关联 前台拼sql 拼出where 条件 后台 把 3个表 甚至更多表关联 查询出数据 现在一查就死 根本出不来数据
xeppp 2011-05-23
  • 打赏
  • 举报
回复
不太好吧 索引都是对那些重复数据少的列 这样重复数据这么多 适合么?
打一壶酱油 2011-05-23
  • 打赏
  • 举报
回复
嗯,在教师名上建个索引
GameWong 2011-05-23
  • 打赏
  • 举报
回复
正常啊。优化什么??
pt1314917 2011-05-23
  • 打赏
  • 举报
回复
给教师姓名增加索引

create index index_name on 表(教师姓名字段)
【更新至2025年】2001-2025年上市公司数字化转型年报词频统计(吴非、赵宸宇、甄红线)(300+年报词频统计) 1、时间:2001-2025年 2、来源:上市公司年报 3、参考文献:企业数字化转型与资本市场表现——来自股票流动性的经验证据(吴非) 数字化转型如何影响企业全要素生产率(赵宸宇) 知识产权行政保护与企业数字化转型(甄红线) 4、方法说明:(1)参考吴非老师的做法,对人工智能技术、大数据技术、云计算技术、区块链技术、数字技术运用五个维度76个数字化相关词频进行统计 (2)参考赵宸宇老师的做法,对数字技术应用、互联网商业模式、智能制造、现代信息系统四个维度99个数字化相关词频进行统计 (3)参考甄红线老师的做法,对技术分类、组织赋能、数字化应用等类别下139个数字化相关词频进行统计 5、指标:年份、股票代码、公司简称、行业名称、行业代码、全文-文本总长度、仅中英文-文本总长度、人工智能技术-吴、大数据技术-吴、云计算技术-吴、区块链技术-吴、数字技术运用-吴、数字技术应用-赵、互联网商业模式-赵、智能制造-赵、现代信息系统-赵、技术分类-人工智能技术-甄、技术分类-区块链技术-甄、技术分类-云计算技术-甄、技术分类-大数据技术-甄、组织赋能-人工智能技术-甄、组织赋能-云计算技术-甄、组织赋能-大数据技术-甄、组织赋能-广义数字技术-甄、数字化应用-技术创新-甄、数字化应用-流程创新-甄、数字化应用-业务创新-甄、人工智能、商业智能、图像理解、投资决策辅助系统、智能数据分析、智能机器人、机器学习、深度学习、语义搜索、生物识别技术、人脸识别、语音识别、身份验证、自动驾驶、自然语言处理、大数据数据挖掘、文本挖掘、数据可视化、异构数据、征信、增强现实、混合现实、虚拟现实、云计算、流计算、图计算、内存计算、多方安全计算、类脑计算、绿色计算、认知计算等300+词频

22,297

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧