sql
文章平均质量分 91
csdn-延
好记性不如个烂笔头
展开
-
21条 MySQL 规范、优化最佳实践!
NOT NULL 列更节省空间,NULL 列需要一个额外字节作为判断是否为 NULL 的标志位。NULL 列需要注意空指针问题,NULL 列在计算和比较的时候,需要注意空指针问题。修改或者删除SQL,先写WHERE查一下,确认后再补充 delete 或 update(SQL后悔药)尤其在操作生产的数据时,遇到修改或者删除的 SQL,先加个 where 查询一下,确认 OK 之后,再执行 update 或者 delete 操作。转载 2023-07-26 22:50:04 · 299 阅读 · 0 评论 -
MySQL数据库查询性能优化的4个技巧干货
MySQL性能优化是一个老生常谈的问题,无论是在实际工作中还是面试中,都不可避免遇到相应的场景,下面博主就总结一些能够帮助大家解决这个问题的小技巧。SQL优化之前需要确认哪些SQL需要优化,这时就需要引起SQL性能分析工具,主要优化的是查询语句。转载 2023-07-26 22:26:38 · 555 阅读 · 0 评论 -
mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用
本文主要介绍"mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用" 有关的知识,希望能够解决您遇到有关问题,下面我们一起来看看这篇 "mysql中聚集索引、辅助索引、覆盖索引、联合索引怎么用" 文章。转载 2023-07-26 21:48:47 · 439 阅读 · 0 评论 -
Mysql MVCC机制原理详解
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访问,在编程语言中实现事务内存。我们知道,一般情况下我们使用mysql数据库的时候使用的是Innodb存储引擎,Innodb存储引擎是支持事务的,那么当多线程同时执行事务的时候,可能会出现并发问题。这个时候需要一个能够控制并发的方法,MVCC就起到了这个作用。转载 2023-07-26 21:24:02 · 371 阅读 · 0 评论 -
MySQL高级函数exists;rollup;cube;field等
我们看到在select子句中是使用了unitid这个字段,但实际上在exists中,因为输出的是boolean值,与select子句的字段没有任何关系,因此这里不仅可以使用unitid,也可以使用任何一个字段,甚至是*或者是Null,或者是一个字符串,或者是一个整数,都是可以的,可以自己试一下。在进行order by时,要么是从小到大,要么是从大到小,但有时需求不是这样,比如对于score表中,如果unitID为2的课程是最重要的,我们想要让unitID为2的记录排在最前面,那该怎么办呢?转载 2023-04-24 01:25:43 · 1115 阅读 · 0 评论 -
Hive数仓筛选出2秒内可能重复下单的订单id列表
背景: 因为弱网缘故,公司的业务系统对下单的防重处理没有完全防住,导致了可能出现重复单情况。面对海量订单人工进行全部排查十分困难且是不现实的,所以在此背景下,基于全量数据,写了一个HiveSQL来筛选出可能重复订单数据。然后再对指定订单id查询订单明细进行人工确认即可找出准确的重复单,再进行操作(可能退掉其中一单)。-- 同一门店、同一商品金额,下单时间相差2秒内的订单idsselect shop_id,p_sp_amt,concat(date_format(created_a...原创 2020-08-30 21:03:13 · 551 阅读 · 0 评论