`
chengyfbj
  • 浏览: 8893 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sql点滴

阅读更多
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点滴24 监测表的变化

    在SQL数据库管理中,监测表的变化是至关重要的任务,特别是在数据同步、备份或者审计等场景。本篇将探讨如何在SQL Server中实现对表变化的监控,主要关注使用触发器来记录表的插入、更新和删除操作。 首先,我们要...

    SQL点滴系列之删除数据(五)

    【SQL从一点一滴分析系列文章】为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis 、Hibernate 中的相关操作 点击查看详情 本节讲述 在数据库中删除表中的...

    SQL点滴系列之插入数据(四)

    【SQL从一点一滴分析系列文章】为实际开发中的点点滴滴的总结,从最最简单的SQL 查询 到 综合分析查询 在分析 SQL 时,也会同时分析 mybatis 、Hibernate 中的相关操作 点击查看详情 本节讲述 在数据库中插入数据 1 ...

    【SQL Server点滴积累】Setup SQL Server 2008 Database Mirror (二)

    在SQL Server 2008中,数据库镜像是一种高可用性和灾难恢复解决方案,它可以提供近乎实时的数据保护。本文将详细解析如何设置SQL Server 2008的数据库镜像,以及涉及的相关脚本操作。 数据库镜像是通过创建一个与主...

    自动点滴管理系统

    此外,系统可能还采用了关系型数据库如SQL Server来存储数据,利用ADO.NET作为数据访问层,与业务逻辑层和表现层进行交互。通过三层架构的设计,实现了代码的解耦和模块化,提高了系统的可维护性和扩展性。 总之,...

    sql查询点滴记录

    标题“sql查询点滴记录”暗示我们将探讨SQL查询的一些关键点和注意事项,而描述则提到作者在深入学习SQL查询时发现的一些问题。 首先,理解SQL的基础是认识到数据库中的表本质上是一个集合,这与面向过程编程的思维...

    【SQL Server点滴积累】SQL Server 2016数据库邮件(Database Mail)功能故障的解决方法

    DatabaseMail.exe.config

    自动点滴管理系统(.NET 3

    服务端可能采用数据库存储数据,如SQL Server或SQLite,通过ADO.NET进行数据访问。 客户端可能包括医生工作站、护士站和移动设备应用,这些客户端通过调用WCF服务来完成各种操作。医生可以创建和修改点滴处方,护士...

    程序员最好的SQL编辑助手

    《程序员的最佳SQL编辑助手——SqlEditPlus》 在IT行业中,SQL(Structured Query Language)作为数据管理和查询的主要语言,对于程序员来说是不可或缺的工具。然而,编写和调试SQL语句的过程往往充满了挑战,尤其...

    点滴空间整站程序 v1.6

    6. **数据库文件**:如`.mdb`(Access数据库)或`.sql`(SQL Server脚本),用于存储网站数据。 7. **文档**:可能包含用户手册、安装指南或许可协议等。 在实际应用中,用户需要将这些文件上传到支持ASP的Web...

    点滴空间 v1.0 优雅版.rar

    【点滴空间 v1.0 优雅版.rar】是一款基于ASP编程语言开发的整站程序,其主要目的是为用户提供一个简洁而优雅的网站解决方案。在这个压缩包中,包含了一个名为"downcode.com"的子文件,这很可能是该网站源代码的主要...

    C#实例之自动点滴管理系统

    在数据库方面,可能使用了关系型数据库管理系统,如SQL Server,来存储点滴记录、患者信息、药品库存等数据。C#提供了ADO.NET库,使得开发者可以方便地操作数据库,执行SQL语句,实现数据的CRUD(创建、读取、更新、...

    Oracle点滴积累

    expimp导出导入工具的使用.doc,Oracle 单记录函数.doc,Oracle 的内存管理.ppt,Oracle9I计划管理表空间.pdf,Oracle备份与恢复.doc,Oracle返回树关系列表Sql.doc,Oracle里时间的应用.doc,Oracle体系结构概述....

    自动点滴管理系统(.NET 3.5框架的WCF技术实现)

    在本系统中,数据库可能采用了关系型数据库管理系统(如SQL Server),设计了如患者信息、点滴记录、医生护士分配等表结构。这些表通过合理的关系设计,实现了数据的一致性和完整性,提高了数据查询和操作的效率。 ...

    编程经验点滴 动态SQL的拼接技巧

    在编程实践中,动态SQL拼接是一项非常实用的技巧,尤其在处理复杂的查询条件时。针对题目中的常见误解,我们可以深入探讨一下如何正确地利用ADO.NET进行动态SQL的构建。 首先,误区1认为只使用ADO.NET无法进行动态...

Global site tag (gtag.js) - Google Analytics