
mysql
HiJohnnyBoy
这个作者很懒,什么都没留下…
展开
-
分库分表
1 分库分表介绍读写分离,主要是为了数据库读能力的水平扩展。而分库分表则是为了写能力的水平扩展。一旦业务表中的数据量大了,从维护和性能角度来看,无论是任何的 CRUD 操作,对于数据库而言都是一件极其耗费资源的事情。即便设置了索引, 仍然无法掩盖因为数据量过大从而导致的数据库性能下降的事实 ,这个时候就该对数据库进行 水平分区 (sharding,即分库分表 ),将原本一张表维护的海量数据分配给 N 个子表进行存储和维护。水平分表从具体实现上又可以分为3种:只分表、只分库、分库分表,下图展示了这三种情转载 2021-04-27 16:55:14 · 205 阅读 · 0 评论 -
mysql 表占用硬盘空间查看
SELECT table_name, data_length + index_length AS len, table_rows, CONCAT(ROUND((data_length + index_length)/1024/1024,2),'MB') AS datas FROM information_schema.tables WHERE table_schema = 'snbp' ORDER BY len DESC;转载 2021-04-19 11:14:17 · 188 阅读 · 0 评论 -
批量插入模拟测试数据10000000
package test0823.demo1;import java.sql.*;/** * @author : Bei-Zhen * @date : 2020-08-24 0:43 */public class JDBC2 { //static int count = 0; public static void main(String[] args) { long start = System.currentTimeMillis(); conn();转载 2021-04-15 15:33:36 · 196 阅读 · 0 评论 -
MySQL如何定位并优化慢查询sql
1.如何定位并优化慢查询sql a.根据慢日志定位慢查询sql SHOW VARIABLES LIKE ‘%query%’ 查询慢日志相关信息slow_query_log 默认是off关闭的,使用时,需要改为on 打开slow_query_log_file 记录的是慢日志的记录文件long_query_time 默认是10S,每次执行的sql达到这个时长,就会被记录SHOW STATUS LIKE ‘%slow_queries%’ 查看慢查询状态Slow_que转载 2020-07-03 11:07:29 · 275 阅读 · 0 评论 -
Mybatis 批量更新
比较普通的写法,是通过循环,依次执行update语句。Mybatis写法如下一条记录update一次,性能比较差,容易造成阻塞,不建议<update id="updateBatch" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> update course原创 2020-06-02 10:48:40 · 162 阅读 · 0 评论 -
mysql函数:组织结构树,通过上级组织ID获取所有的直接子组织的ID
mysql函数:组织结构树,通过上级组织ID获取所有的直接子组织的IDDELIMITER $$USE `SNBP`$$DROP FUNCTION IF EXISTS `getChildrenOrg`$$CREATE DEFINER=`root`@`%` FUNCTION `getChildrenOrg`(orgid INT) RETURNS VARCHAR(4000) CHARSET utf8BEGINDECLARE oTemp VARCHAR(4000);DECLARE oTempCh原创 2020-05-25 20:18:50 · 382 阅读 · 0 评论