![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SQL
文章平均质量分 81
橘子hhh
这个作者很懒,什么都没留下…
展开
-
Mysql的索引问题
11原创 2022-10-17 19:33:37 · 2711 阅读 · 0 评论 -
批量处理数据的三种方式
直接上结论:方法一、通过java for循环调用insert(单个对象),由于每次插入都会进行一次create SqlSession -> commit操作,因此数据量大时禁用,在插入条数少时可用,逻辑简单,使用方便。方法二、通过xml拼接sql foreach效率高,但条数过长会报错,插入条数长时可用,需要预估条数,在进行跑批。方法三、批处理java中自建sqlSession ->循环insert->commit,避免每次循环操作都进行commit,同方法二插入.原创 2022-02-11 18:12:12 · 4919 阅读 · 0 评论 -
MySQL不用uuid做主键的原因
在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一,单机递增),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?本篇博客我们就来分析这个问题,探讨一下内部的原因。目录一、mysql和程序实例二、使用uuid和自增id的索引结构对比三、总结一、mysql和程序实例1.1.要说明这个问题,我们首先来建立三张表分别是user_auto_key,us原创 2021-12-13 13:52:45 · 447 阅读 · 0 评论 -
sqlsever查询索引sql、表结构sql(复制即可用)
引言最近在使用sql server数据库,查询表索引和mysql不太一样,实在不太方便,花时间找了几种可尝试方法便于大家查看索引~查询索引方法一:SELECT 索引名称=a.name,表名=c.name,索引字段名=d.name,索引字段位置=d.colidFROM sysindexes a JOIN sysindexkeys b ON a.id=b.id AND a.indid=b.indid JOIN sysobjects c O...原创 2021-12-08 17:55:55 · 4748 阅读 · 0 评论 -
MySQL 团队开发规范
数据库对象命名规范数据库对象数据库对象是数据库的组成部分,常见的有以下几种:表(Table )、索引(Index)、视图(View)、图表(Diagram)、缺省值(Default)、规则(Rule)、触发器(Trigger)、存储过程(Stored Procedure)、 用户(User)等。命名规范是指数据库对象如数据库(SCHEMA)、表(TABLE)、索引(INDEX)、约束(CONSTRAINTS)等的命名约定。数据库对象全局命名规范1、命名使用具有意义的英文词汇,词汇中间以下划线原创 2021-11-23 16:34:28 · 77 阅读 · 0 评论 -
漫谈Mybatis
引言从源码角度看,mybatis是十分优秀的源码,其设计思路清晰简洁,虽然代码复杂度不高(相较于某些复杂源码)但麻雀虽小五脏俱全,非常适合拿来学习分析。通过本次分享,希望收获如下:了解mybatis设计思想,知晓各部分组成与职责,推敲源码细节不再迷茫 建立属于自己的看源码技巧,从容面对复杂源码,如:Spring 更好的体会面向对象、面向接口思想,能够在合适的场景将设计模式融入日常开发中一、准备工作——JDK动态代理二、mybatis核心模块1.Configuratio.原创 2021-11-09 15:04:01 · 253 阅读 · 0 评论 -
分库分表详解
一.什么叫分库分表?1.1概念将存在一个数据库的数据分散到多个数据库中, 将一个表中的数据分散到多个表中.二.为什么要分库分表?当单表的数据量达到1000W或100G以后,读写的性能会下降,即使有索引,索引也会变得很大,性能同样会降下 数据库文件会得很大,数据库备份和恢复需要耗时很长 数据库文件越大,极端情况下丢失数据的风险越高 单机的连接数受限三.切分类型3.1垂直(纵向)拆分垂直切分常见有垂直分库和垂直分表两种。垂直分库就是根据业务耦合性,将关联度低的不同表存储在不同的原创 2021-10-19 14:51:45 · 2017 阅读 · 0 评论 -
“秒杀”问题的数据库和SQL设计
1. 问题的来源最近发现很多人被类似秒杀这样的设计困扰,其实这类问题可以很方便地解决,先来说说这类问题的关键点是什么: 一定要高性能,不然还能叫秒杀吗? 要强一致性,库存只有100个,不能卖出去101个吧?但是库存10000实际只卖了9999是否允许呢? 既然这里说了是秒杀,那往往还会针对每个用户有购买数量的限制。 总结一下,还是那几个词:高性能强一致性!下文的所有解决方案是在 Mysql InnoDB 下做的。因为用到了很多数据库特性。其他的数据库或其他的数据库.转载 2021-07-19 11:05:42 · 816 阅读 · 0 评论