-----------------------------Cryking原创------------------------------ -----------------------转载请注明出处,谢谢!------------------------ 很多不了解oracle数据库的开发人员很喜欢用PL/SQL的函数.存储等来达到代码上的简洁. 如: SELECT EMPNO,ENAME,DNAME,LOC FROM EMP,DEPT WHERE EMP.DEPTNO=DEPT.DEPTNO;…
SQL中的安全问题     1.SQL注入         demo1:             SELECT * FROM user WHERE username = ? AND password = ? ;                          http://127.0.0.1/injection/user.do?username=angel' or '1=1             http://127.0.0.1/injection/user.do?username=ange…
PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.sql,然后再在PL/SQL中New Commond Window,然后键入:@'C:\b.sql';…
PL/SQL中直接写SQL语句和用EXECUTE IMMEDIATE方法的区别 在PL/SQL中在执行SQL语句时可以直接写SQL或者可以把一个SQL语句拼成一个字符串,如下: select * from dual; v_sql:='select * from dual'; EXECUTE IMMEDIATE v_sql; 一般来说直接写SQL的性能是高于拼字符串的,因为如果执行拼字符串的需要内部自动调动oracle机制,先解析字符串映射成SQL语句然后再执行. 但是拼SQL的方式有好处.即SQ…
一.索引 所有MySQL列类型都可以被索引,对相关列使用索引是提高SELECT操作性能的最佳途径.每种存储引擎(MyISAM.InnoDB.BDB.MEMORY等)对每个表至少支持16个索引,总索引长度至少为256字节.大多数存储引擎有更高的限制. MyISAM和InnoDB存储引擎的表默认创建的都是BTREE索引.MEMORY存储引擎使用的是HASH索引,但也支持BTREE索引. MyISAM存储引擎的表,索引的前缀长度可以达到1000字节长,而对于InnoDB存储引擎的表,索引的前缀长度最长…
前言 谁说MySQL查询千万级别的数据很拉跨?我今天就要好好的和你拉拉家常,畅谈到深夜,一起过除夕!这篇文章也是年前的最后一篇,希望能带给大家些许收获,不知不觉查找文档和参考实体书籍就写了这么多,自己都感觉到意外.不禁感慨到,知道的越多,才知道不知道的更多. 开发人员或者是DBA都应该关注MySQL使用的存储引擎,选择合适存储引擎对你的应用性能提升是明显的.在阅读到本文的时候,肯定是有一定的MySQL或者其它数据库基础的,不然有些地方看着会很费劲.重点地方,我都进行了加粗处理,这样更容易获取关键…
一.索引 什么是索引? 索引是帮助Mysql提高获取数据的数据结构,换一句话讲就是"排好序的快速查找的数据结构". 1.索引的分类 MySQL主要的几种索引类型:1.普通索引.2.唯一索引.3.主键索引.4.组合索引.5.全文索引. 1.普通索引 是最基本的索引,它没有任何限制. 2.唯一索引 与普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值.如果是组合索引,则列值的组合必须唯一 3.主键索引 是一种特殊的唯一索引,一个表只能有一个主键,不允许有空值. 主键索引和唯一索引的…
主要内容: 一.索引的介绍 二.索引的原理 三.索引的数据结构 四.聚集索引与辅助索引 五.MySQL索引管理 六.测试索引 七.正确使用索引 八.联合索引与覆盖索引 九.查询优化神器--explain 十.慢查询优化的基本步骤 十一.慢日志管理 1️⃣  介绍 1.为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,在生产环境中,我们遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,因此对查询语句的优化显然是重中之重.说起加速查询,就不得…
接上篇 7️⃣  正确使用索引 一.索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果, 我们在添加索引时,必须遵循以下问题: #1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:>.>=.<.<=.!= .between...and....like. #2 尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是…
一. 什么是视图视图是一种虚拟存在的表,行和列数据来自,定义视图的查询中使用的表,并且是在使用视图时动态生成的.优势有: 简单: 使用视图的用户完全不需要关心后面对应的表的结构,关联条件,筛选条件. 安全:使用视图的用户只能访问他们被允许查询的结果集. 数据独立: 源表增加列对视图没有影响,源表修改列名,则通过修改视图 对应好源表的列名来解决,不会造成对访问者的影响. 1.1 创建视图的操作 -- 创建视图 CREATE OR REPLACE VIEW view_city AS SELECT *…