SQL
Wewon_real
这个作者很懒,什么都没留下…
展开
-
mysql count 测试
count(1)和count(*)之间没有区别,因为count(*)count(1)都不会去过滤空值,但count(列名)就有区别了,因为count(列名)会去过滤空值。count(主键)和 count(有索引字段)一样(4.05)count(1)和 count(*)一样(24.647s)count(无索引字段)(44.958)原创 2022-12-12 15:18:13 · 222 阅读 · 0 评论 -
mysql慢查询排查
在mysql数据库实例下执行以下语句可以排查mysql慢查询语句-- 查询慢查询日志SELECT * FROM `slow_log`;SHOW VARIABLES LIKE 'slow%';-- 慢查询定义阈值,单位是秒,精度可到毫秒SHOW VARIABLES LIKE 'long%';SHOW VARIABLES LIKE 'log%';-- 临时开启慢查询日志SET GLOBAL slow_query_log = ON;-- 临时开启慢查询日志SET GLOBAL slow_原创 2021-03-02 19:18:06 · 161 阅读 · 0 评论 -
period_diff()函数不能用于计算两个日期间的天数
period_diff()函数返回两个日期之间的月份数,不能用于计算两个日期间的天数,比如SELECT PERIOD_DIFF(20200325,20200404) FROM DUAL;结果是9,显然不对,计算两个日期之间的天数要用DATEDIFF...原创 2020-04-05 09:59:38 · 1263 阅读 · 0 评论 -
oracle数据库将最有可能出现空值的字段放在表结构的最后面
将最有可能出现空值的字段放在表结构的最后面,因为在数据库存储的时候,若字段为NULL,则这个值根本没有存储。当数据库比较大或者空字段比较多的话,则可以大大的减少数据库的存储空间。原创 2018-01-02 11:24:10 · 522 阅读 · 0 评论 -
oracle数据库索引设计原则
1.原则上表索引的个数不能超过5个;2.原则上单个字段上的索引不能超过2个;3.原则上复合索引引用的字段不能超过3个字段;4.原则上分区表的索引类型全部使用LOCAL索引;5.配置数据类的表,如数据量比较少,原则上不建索引6.频繁变更数据的表,尽可能减少索引数量或者不建索引7.索引引用字段的顺序尽可能与使用该索引的查询中ORDER BY字段顺序保持一致原创 2018-01-02 11:33:39 · 1040 阅读 · 0 评论 -
oracle sql语句优化(编写规范)
1.对于分区表的查询,原则上必须使用分区键做条件;2.禁止WHERE子句的左列上使用函数,例如:trunc(create_date) = trunc(sysdate); 原因:这样会使索引失效3.对于关键SQL语句,尽量简化,不要包含太多的层次,避免执行计划错误的可能,原则上不能超过2层;4.SQL中尽量少用HINT信息,必要时,建议使用hint固定关键SQL语句执行计划,原则上批量作业要用hin原创 2018-01-02 14:47:31 · 591 阅读 · 0 评论 -
供应链sit oracle 服务器并行线程64最快
SELECT * FROM SCM_IO_LIS_LOG_TBL t WHERE 1 = 1 order by t.insert_datetime asc23.221sSELECT/*+parallel(4) */ * FROM SCM_IO_LIS_LOG_TBL t WHERE 1 = 1 order原创 2018-01-12 15:50:43 · 320 阅读 · 0 评论 -
不要用oracle的关键字做列名
不要用oracle的关键字做列名,否者查询的话会报“ORA_01747:User.table.column 或列说明无效”错误。解决方案:删除该表,重新建表(删除或重命名该关键字列不行)原创 2018-01-26 17:10:15 · 1001 阅读 · 0 评论 -
mysql varchar字段类型最大长度
mysql除TEXT or BLOBs字段类型,最大长度是65535字节当采用UTF8编码时候,一个字符占4个字节,mysql varchar字段类型最大长度是16383字符原创 2018-08-01 10:47:07 · 2954 阅读 · 0 评论 -
oracle 查找前10条最耗资源的sql语句
查找前10条最耗资源的sql语句:SELECT * FROM (select PARSING_USER_ID,EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea order BY disk_reads DESC )where ROWNUM说明:EXECUTIONS表示同一条SQL语句一共执行了多少次,sql_原创 2017-12-26 09:40:06 · 1546 阅读 · 0 评论 -
oracle定时器实用代码
创建定时器(在test窗口执行):begin sys.dbms_job.submit(job => :job, what => 'pag_knowledge.import_knowledge;', next_date => to_date('01-11-2017 22:15:00', 'dd-mm-yy原创 2017-11-01 10:48:55 · 229 阅读 · 0 评论 -
Oracle语法限制,in内元素数量必须不大于1000
Oracle语法限制,in内元素数量必须不大于1000原创 2017-08-22 17:18:00 · 481 阅读 · 0 评论 -
对于相同值排序有没有对rownum伪列应用一个限定条件排序结果不同
SELECT ROWNUM ROWNUM_,ROW_.evaluate_time , ROW_.* FROM (select * FROM scm_daily_query_tbl t where 1 = 1 and company_cd = '2210'原创 2017-08-21 15:35:53 · 441 阅读 · 0 评论 -
使sql语句支持输入参数
比如查表SCM_MTL_CATALOG_TBL分配的空间大小select sum(bytes)/1024/1024 "表大小(M)" from user_segments where segment_name='SCM_MTL_CATALOG_TBL';要使其执行sql时候有用户输入不同参数的表名可改写成select sum(bytes)/1024/1024 "表大小(M)" fr原创 2017-07-25 17:38:56 · 2661 阅读 · 0 评论 -
在plsql的test窗口用for循环
declare in_productnum varchar2(50);in_username varchar2(50);in_realname varchar2(50);begin FOR dtl IN (select t.product_num from scm_mtl_catalog_tbl t2left join (SELECT a.*,a.rowid,原创 2017-07-14 20:58:15 · 1403 阅读 · 0 评论 -
oracle数据库误删数据恢复方法
1、查询过去某指定时间点数据库表中的数据(不需要开启闪回)select * from 表名 AS OF TIMESTAMP TO_TIMESTAMP('2017-05-01','yyyy-mm-dd');2、从回收站中还原表(不需要开启闪回)FLASHBACK TABLE 表名 TO BEFORE DROP; 3、查询回收站中的被删除的表(注意虽然数据库原创 2017-07-01 10:44:06 · 613 阅读 · 0 评论 -
对某个字段相同的值根据另一个字段排序(Oracle数据库)
对某个字段相同的值根据另一个字段排序SELECT a.id, a.material_code, RANK() OVER(PARTITION BY a.material_code ORDER BY a.id DESC) RK FROM scm_ws_sc_mtl_h_tbl a原创 2017-04-20 15:17:56 · 8571 阅读 · 0 评论 -
几个存储过程实例(已测可用)
PS:已上内容还涉及游标的使用原创 2017-04-06 16:33:07 · 345 阅读 · 0 评论 -
TNS配置实例
# tnsnames.ora Network Configuration File: C:\app\38695\product\12.1.0\dbhome_1\network\admin\tnsnames.ora# Generated by Oracle configuration tools.LISTENER_ORCL = (ADDRESS = (PROTOCOL = TC原创 2017-03-28 14:18:04 · 1563 阅读 · 0 评论 -
sql语句批量处理
比如这三条sql批量执行,第二条是错的,执行到第二条会报错,这时点ok会执行第三条,点cancel就挺在第二条。select * from dual;selelf;select 'ss' from dual;原创 2017-08-03 20:52:20 · 981 阅读 · 0 评论 -
plsql中null与0比较永远为false
都选不出结果原创 2017-09-11 10:30:00 · 1053 阅读 · 0 评论