


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何提升数据查询的效率?1首先检查表的结构是否合理,因为采用多表查询的时候,看主外键的引用关系是否适当如果不适当则重新设置表结构如果是应用中的系统,则不需要更改表的字段,只更改主外键关系如果数据库中有较多的数据,还应采用索引提高查询效率.3.如果表的列很少,不适合建索引表数据很少查询,而经常做nsert、delete、update动作,不适合建索引。因为Oracle需要对索引额外维护。建立索引后,select会快,当执行过多次的insert,delete,update后,会出现索引碎片,影响查询速度,我们应该对索引进行重组(即drop掉索引重新create)4.索引的类型分为:B-树索引:适合
2、于大量的增、删、改,大多数数据的索引默认类型。位图索引:适合于决策支持系统HASH索引、分区索引等。1、删除重复的数据:tom223scott182createtabletb_test(namevarchar(18),agenumber,addressVARCHAR2(18);insertintotb_test(name,age,address)values(tom,22,广州);insertintotb_test(name,age,address)values(marry,23B:港);insertintotb_test(name,age,address)values(tom,22,香港);
3、insertintotb_test(name,age,address)values(alice,22,美国);insertintotb_test(name,age,address)values(tom,22,广州);insertintotb_test(name,age,address)values(scott,18,美国);insertintotb_test(name,age,address)values(scott,18,广州);删除name所有重复数据DELETEFROMtb_testWHERENAMEIN(SELECTNAMEFROMtb_testGROUPBYNAMEHAVINGCOU
4、NT(*)1);保留一条-1.通过创建临时表-注意:当字段比较多(name、age、sex,address、phone.),但是判断重复只是name和age字段,就不能使用distince了createtabletb_tmpasselectdistinctname,agefromtb_test;truncatetabletb_test;-清空表记录insertintotb_test(NAME,age)selectNAME,agefromtb_tmp;-将临时表中的数据插回来。如何通过sql语句完成分页?Oraclselectrownum,bookIdfromrownum是伪列名,bookId是
5、列名(selectrownumrow_id,bookIdfromxiaoWJ_bookst)twhererow_idbetween10and20查10到20条记录Mysql-sql=select*fromxiaoWJ_booksLIMIT?,?;第一个?是开始位置,第二个?是每页显示多少sqlServer2000-selecttop+pageSize+*fromxiaoWJ_bookswherebookIdnotin去掉前面+pageBegin+条后显示+pageSize+条记录(selecttop+pageBegin+bookIdfromxiaoWJ_booksorderbybookId)查
6、出整个表的前pageBegin条记录orderbybookId2、紫光笔记本4月份的销售总额SELECTSUM(s.pamount)FROMtb_prodp,tb_salessWHEREp.id=s.pidANDp.type=笔记本ANDp.mark=紫光ANDto_char(s.sdate,mm)=04;MySQL是month(s.sdate)=O43、找出完成销售业务笔数最少的职员的姓名和他完成的业务数SELECT,COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBY;-1.使用rownum,但是结果不准确SELEC
7、T*FROM(SELECT,COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBYORDERBYCOUNT(*)WHEREROWNUM=1;-2.SELECT,COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBYHAVINGCOUNT(*)=(SELECTCOUNTFROM(SELECT,COUNT(*)ASCOUNTFROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBYORDERBYCOUNT
8、(*)WHEREROWNUM=1);-3使用子查询的ALLSELECT,COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBYHAVINGCOUNT(*)=ALL(SELECTCOUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBY);-4.min(count(*)SELECT,COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBYHAVINGCOUNT(*)=(SELECTMIN(COUNT(*)FROMtb_empe,tb_salessWHEREe.id=s.eidGROUPBY);-5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 10万吨煤矿合同范本
- 单位只交社保合同范本
- 公司销售代理合同范本
- 出售机械板车合同范本
- 医药培训销售合同范本
- 个人精装房租赁合同范例
- 保洁大扫除合同范本
- 买汽车有没有三包合同范本
- 加工基地 合同范本
- 劳务用工合同范本
- 2022年甘肃省中考英语试卷真题
- 医用电子仪器期末模拟考试卷测试题附答案
- 大地测量学全册配套完整课件
- 《Colours》教学讲解课件
- 整体煤气化联合循环课件
- 山东省中考物理总复习 八上 第3讲 物态变化
- 2022年湖南财信金融控股集团有限公司招聘笔试试题及答案解析
- 地质灾害防治培训ppt版(共43)
- 慕白的诗(十二首)
- 秩序维护人员的绩效考核规范
- 2022年苏州市吴中产业投资集团有限公司招聘笔试题库及答案解析
评论
0/150
提交评论