随笔分类 - mysql
mysql笔记
摘要:如何在mysql从多个表中组合字段然后插入到一个新表中,通过一条sql语句实现。具体情形是:有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,我们可以使用如下的语句来实现: 例如: 两种表结构一样: 所以需要将user表数据同步到T-user中使用语句
阅读全文
摘要:数据库存储引擎: 一 InnoDB存储引擎 InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),其它存储引擎都是非事务安全表,支持行锁定和外键,MySQL5.5以后默认使用InnoDB存储引擎。InnoDB主要特性为MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)
阅读全文
摘要:成熟的数据库设计套路,其实数据库设计也是一门学问,看起来简单,真正想设计好也需要有硬功夫,也需要手艺精湛、技艺高超的。数据库基本上还是目前开发各种管理系统必不可少的组成部分,甚至现在还是稳定的管理信息系统的基石,所以数据库设计是否合理、至少30-40%的项目是否顺利稳定的分量是有的。 一命名规则 (
阅读全文
摘要:第一节:存储过程和函数的引入 存储过程和函数是在数据库中定义一些SQL 语句的集合,然后直接调用这些存储过程和函数来执行已经定义好的SQL 语句。存储过程和函数可以避免开发人员重复的编写相同的SQL 语句。而且,存储过程和函数是在MySQL服务器中存储和执行的,可以减少客户端和服务器端的数据传输;
阅读全文
摘要:数据分片 不使用Spring 引入Maven依赖 基于Java编码的规则配置 Sharding-JDBC的分库分表通过规则配置描述,以下例子是根据user_id取模分库, 且根据order_id取模分表的两库两表的配置。 基于Yaml的规则配置 或通过Yaml方式配置,与以上配置等价: 使用原生JD
阅读全文
摘要:SPRING BOOT配置 注意事项 行表达式标识符可以使用${...}或$->{...},但前者与Spring本身的属性文件占位符冲突,因此在Spring环境中使用行表达式标识符建议使用$->{...}。 配置示例 数据分片 读写分离 数据分片 + 读写分离 数据治理 配置项说明 数据分片 读写分
阅读全文
摘要:@Bean(name = "shardingDataSource", destroyMethod = "close") @Qualifier("shardingDataSource") public DataSource getShardingDataSource() { // 配置真实数据源 Map dataSourceMap = new Has...
阅读全文
摘要:分库分表理解 分库分表应用于互联网的两个场景;大量数据和高并发,通常策略有两种:垂直分库,水平拆分 垂直拆分:是根据业务将一个库拆分为多个库,将一个表拆分为多个表,例如:将不常用的字段和经常访问的字段分开存放,在实际开发由于跟业务关系紧密,所以一般采用水平拆分。 水平拆分:则是根据分片算法讲一个库拆
阅读全文
摘要:MySQL为我们提供了 explain 关键字来直观的查看一条SQL的执行计划。 explain显示了MySQL如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。 下面我们使用 explain 做一个查询,如下: 查询结构中有12列,理解每一列的含义,对理解
阅读全文
摘要:相对高并发一样,速度都是优化出来的,在高并发处理的时候,通常采用的是redis缓存,全文搜索引擎,数据库本身优化,sql优化,磁盘优化 看如下图: 所以可以得出的思想就是: 这个优化法则归纳为5个层次:1、 减少数据访问(减少磁盘访问)2、 返回更少数据(减少网络传输或磁盘访问)3、 减少交互次数(
阅读全文
摘要:1,单库表别太多,一般保持在200以下为宜 2,尽量避免SQL中出现运算,例如select a+5 from A,让DB功能单一化 3,表设计尽量小而精,能用5个字段就不要用6个(不绝对,取决于业务,该冗余时坚决不要手软) 4,SQL事务不能设计太大,比如一次性提交10W条insert,当然这个不仅
阅读全文
摘要:当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的
阅读全文
摘要:在使用springboot整合ssm和druid的时候出现数据库一个问题 出现这个问题时候,就是是数据库时间问题,然后执行了 进行查询设置: 然后就可以正常访问了
阅读全文