1. 使用like别忘了escape like '%/s' escape '/'
2. 使用行表达式查询条件 where a.id = '1' and a.name='user' 可以写成
where (a.id,a.name)=('1','user') 可能会走索引,速度会快
3. with s1 as
(select * from table t where t.date=date'201503' order by t.id),
s2 as
(select * from table t where t.date=date'201504' order by t.id)
select * from s1
union all
select * from s2;
可以将数据order by后再拼接。单纯union all 不能带order by
4. 带null值得列不走索引,可以建复合索引
create index idx_t1 on t1(object_Id,1);
而不是create index idx_t1 on t1(object_Id);
5. 用函数索引避免全表扫描
select object_id,object_name from t1 where reverse(object_name)like reverse('%EMP');
create index idx_fun_t1 on t1(reverse(object_name));
而不是
select object_id,object_name from t1 where object_name like '%EMP';
create index idx_fun_t1 on t1(object_name);
5. 大数据量表先限定条件查询出来,在关联其它表,可避免大量全表扫描。
用户表user(user_id,user_name) 消费表spending(user_id,消费积分score,日期date)统计8月份消费积分排在前10的数据。
select u.user_name,s.score from user u,(select s.user_id,sum(s.score) score from spend s where trunc(s.date,'yyyymm')='201408') s where u.user_id = s.user_id group by u.user_id,s.score having count(u.user_id) <=10
6.char是定长的,varchar2是变长的,同样定义一列,如果是用char(10),则存储'0'会占用10个byte;如果是用varchar2(10),则存储'0'只会占用1个byte,varchar2更省存储。
SQL> create table t1(c1 char(10),c2 varchar2(10));
Table created
SQL> insert into t1 values('0','0');
1 row inserted
SQL> commit;
Commit complete
SQL> select lengthb(c1),lengthb(c2) from t1;
LENGTHB(C1) LENGTHB(C2)
———– ———–
10 1
分享到:
相关推荐
在SQL数据库管理中,监测表的变化是至关重要的任务,特别是在数据同步、备份或者审计等场景。本篇将探讨如何在SQL Server中实现对表变化的监控,主要关注使用触发器来记录表的插入、更新和删除操作。 首先,我们要...
【SQL从一点一滴分析系列文章】为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis 、Hibernate 中的相关操作 点击查看详情 本节讲述 在数据库中删除表中的...
【SQL从一点一滴分析系列文章】为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis 、Hibernate 中的相关操作 点击查看详情 本节讲述 在数据库中插入数据 1 ...
在SQL Server 2008中,数据库镜像是一种高可用性和灾难恢复解决方案,它可以提供近乎实时的数据保护。本文将详细解析如何设置SQL Server 2008的数据库镜像,以及涉及的相关脚本操作。 数据库镜像是通过创建一个与主...
此外,系统可能还采用了关系型数据库如SQL Server来存储数据,利用ADO.NET作为数据访问层,与业务逻辑层和表现层进行交互。通过三层架构的设计,实现了代码的解耦和模块化,提高了系统的可维护性和扩展性。 总之,...
标题“sql查询点滴记录”暗示我们将探讨SQL查询的一些关键点和注意事项,而描述则提到作者在深入学习SQL查询时发现的一些问题。 首先,理解SQL的基础是认识到数据库中的表本质上是一个集合,这与面向过程编程的思维...
DatabaseMail.exe.config
服务端可能采用数据库存储数据,如SQL Server或SQLite,通过ADO.NET进行数据访问。 客户端可能包括医生工作站、护士站和移动设备应用,这些客户端通过调用WCF服务来完成各种操作。医生可以创建和修改点滴处方,护士...
《程序员的最佳SQL编辑助手——SqlEditPlus》 在IT行业中,SQL(Structured Query Language)作为数据管理和查询的主要语言,对于程序员来说是不可或缺的工具。然而,编写和调试SQL语句的过程往往充满了挑战,尤其...
6. **数据库文件**:如`.mdb`(Access数据库)或`.sql`(SQL Server脚本),用于存储网站数据。 7. **文档**:可能包含用户手册、安装指南或许可协议等。 在实际应用中,用户需要将这些文件上传到支持ASP的Web...
【点滴空间 v1.0 优雅版.rar】是一款基于ASP编程语言开发的整站程序,其主要目的是为用户提供一个简洁而优雅的网站解决方案。在这个压缩包中,包含了一个名为"downcode.com"的子文件,这很可能是该网站源代码的主要...
在数据库方面,可能使用了关系型数据库管理系统,如SQL Server,来存储点滴记录、患者信息、药品库存等数据。C#提供了ADO.NET库,使得开发者可以方便地操作数据库,执行SQL语句,实现数据的CRUD(创建、读取、更新、...
expimp导出导入工具的使用.doc,Oracle 单记录函数.doc,Oracle 的内存管理.ppt,Oracle9I计划管理表空间.pdf,Oracle备份与恢复.doc,Oracle返回树关系列表Sql.doc,Oracle里时间的应用.doc,Oracle体系结构概述....
在本系统中,数据库可能采用了关系型数据库管理系统(如SQL Server),设计了如患者信息、点滴记录、医生护士分配等表结构。这些表通过合理的关系设计,实现了数据的一致性和完整性,提高了数据查询和操作的效率。 ...
在编程实践中,动态SQL拼接是一项非常实用的技巧,尤其在处理复杂的查询条件时。针对题目中的常见误解,我们可以深入探讨一下如何正确地利用ADO.NET进行动态SQL的构建。 首先,误区1认为只使用ADO.NET无法进行动态...