数据库
程序人生dc
编程时要保持这种心态:就好象将来要维护你这些代码的人是一位残暴的精神病患者,而且他知道你住在哪。
展开
-
MySQL数据库设计总结
MySQL数据库设计总结规则1:一般情况可以选择MyISAM存储引擎,如果需要事务支持必须使用InnoDB存储引擎。注意:MyISAM存储引擎 B-tree索引有一个很大的限制:参与一个索引的所有字段的长度之和不能超过1000字节。另外MyISAM数据和索引是分开,而InnoDB的数据存储是按聚簇(cluster)索引有序排列的,主键是默认的聚簇(cluster)索引,因此MyISAM虽然...原创 2018-09-27 18:24:27 · 227 阅读 · 0 评论 -
mysql执行计划分析
为什么要了解explain:想了解select查询的内部情况,查询优化器是如何工作的,是否使用到了索引,explain可以做到。MySQL查询优化器是如何工作的 :MySQL查询优化器有几个目标,但是其中最主要的目标是尽可能地使用索引,并且使用最严格的索引来消除尽可能多的数据行。最终目标是提交SELECT语句查找数据行,而不是排除数据行。优化器试图排除数据行的原因在于它排除数据行的速度原创 2017-12-26 17:16:35 · 283 阅读 · 0 评论 -
了解MySQL联表查询中的驱动表,优化查询,以小表驱动大表
一、为什么要用小表驱动大表1、驱动表的定义当进行多表连接查询时, [驱动表] 的定义为:1)指定了联接条件时,满足查询条件的记录行数少的表为[驱动表]2)未指定联接条件时,行数少的表为[驱动表](Important!)忠告:如果你搞不清楚该让谁做驱动表、谁 join 谁,请让 MySQL 运行时自行判断既然“未指定联接条件时,行数少的表为[驱动表原创 2017-10-14 15:41:29 · 22418 阅读 · 3 评论 -
sql 优化
一,SQL语句性能优化1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2,应尽量避免在 where 子句中对字段进行 null 值判断,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0,-1作为默 认值。3,应尽量避免在 where 子句中使用!=或MySQL只有对以下操作符才使原创 2017-08-28 17:20:24 · 317 阅读 · 0 评论 -
Oracle与mysql批量新增或修改语法
一、Oracle批量更新的merge into语法MERGE INTO是Oracle 9i以后才出现的新的功能。那这个功能 是什么呢?简单来说,就是:“有则更新,无则插入”,用来合并UPDATE和INSERT语句.通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描原创 2017-10-08 11:36:59 · 778 阅读 · 0 评论 -
mybaits批量新增修改
开发中,批量修改数据应该是很常见的功能需求。今晚开发时配置批量修改功能遇到很多坑,浪费了很多时间,特此记录下来,跟大家分享,今天你看到的坑我都为您铺平了。批量执行sql语句,无非就是批量修改和批量添加。我用现在使用量最多的框架mybatis写一个修改功能给大家做个demo看。其他的自己举一反三,我不在这浪费笔墨了,一样的逻辑。文章概览:使用事务控制,在service层控制进行循原创 2017-08-28 17:30:04 · 578 阅读 · 0 评论 -
数据库索引简介以及如何选择索引列
一、什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描原创 2017-06-13 17:00:23 · 6509 阅读 · 0 评论 -
mysql与orcale实现递归查询
一、Orcale实现递归查询 oracle提供的connect by来实现[sql] view plaincopySELECT id, parentid FROM t CONNECT BY id = PRIOR parentid START WITH id = '1'; PRIOR原创 2017-04-29 16:48:35 · 469 阅读 · 0 评论 -
orcale实现自增长,创建序列实现自增长
首先在orcale创建序列,序列名称为PK_HS_ACCESS_TIME(这是随便命名的)CREATE SEQUENCE PK_HS_ACCESS_TIME INCREMENT BY 1 -- 每次加1个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循原创 2017-03-22 14:09:56 · 542 阅读 · 0 评论 -
plsql远程连接oracle服务端
新的机器,装了一个虚拟机,在上面安装Oracle服务端。原系统上的程序需要连接oracle,但又不想安装oracle客户端,还好可以用oracle提供的instance client来替代,类似于oracle客户端的绿色免安装版,只是还需要进行一些配置才能使用。1,下载oracle instance client。http://www.oracle.com/technetwork/转载 2017-03-21 09:53:45 · 7223 阅读 · 0 评论 -
MySQL数据类型详解
MySQL中数据类型介绍一、MySQL的数据类型主要包括以下五大类:整数类型:BIT、BOOL、TINY INT、SMALL INT、MEDIUM INT、 INT、 BIG INT浮点数类型:FLOAT、DOUBLE、DECIMAL字符串类型:CHAR、VARCHAR、TINY TEXT、TEXT、MEDIUM TEXT、LONGTEXT、TINY BLOB、BLOB、MED...转载 2018-09-27 19:13:27 · 213 阅读 · 0 评论