![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 69
奋进中的程序员
这个作者很懒,什么都没留下…
展开
-
A表数据跟新到B表数据的sql
UPDATE settlement_sdk_sync sJOIN trade_order t ON s.order_id = t.trade_code AND s.company_id = 0 AND t.company_id IS NOT NULL AND t.shop_id IS NOT NULL SET s.company_id = t.company_id,s.shop_id = t.shop_id;原创 2021-07-06 17:48:53 · 90 阅读 · 0 评论 -
系统性能优化(二)
性能优化 - 索引当根据操作人进行查询时, 查询的效率很低,耗时比较长。原因就是因为在创建数据库表结构时,并没有针对于 操作人 字段建立索引。CREATE INDEX idx_user_method_return_cost ON operation_log(operate_user,operate_method,return_class,cost_time);同上 , 为了查询效率高,我们也需要对 操作方法、返回值类型、操作耗时 等字段进行创建索引,以提高查询效 率。C...原创 2021-05-30 20:21:04 · 93 阅读 · 1 评论 -
系统性能优化(一)
系统中用户访问日志的数据量,随着时间的推移,这张表的数据量会越来越大,因此我们需要根据业务需求,来对 日志查询模块的性能进行优化。1) 分页查询优化 由于在进行日志查询时,是进行分页查询,那也就意味着,在查看时,至少需要查询两次: A. 查询符合条件的总记录数。--> count 操作 B. 查询符合条件的列表数据。--> 分页查询 limit 操作 通常来说,count() 都需要扫描大量的行(意味着需要访问大量的数据)才能获得精确的结果,因此是很难对该 SQL进行优化操作的。如果需要对c原创 2021-05-29 20:39:38 · 567 阅读 · 0 评论 -
Mysql复制
复制是指将主数据库的DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行 (也叫重做),从而使得从库和主库的数据保持同步。 MySQL支持一台主库同时向多台从库进行复制, 从库同时也可以作为其他从服务器的主库,实现链状复制。...原创 2021-05-29 19:58:08 · 71 阅读 · 0 评论 -
mysql常用工具
1.mysql该mysql不是指mysql服务,而是指mysql的客户端工具。 语法 :mysql [options] [database]参数 :-u, --user=name 指定用户名-p, --password[=name] 指定密码-h, --host=name 指定服务器IP或域名-P, --port=# 指定连接端口示例 :mysql -h 127.0.0.1 -P 3306 -u root -pmysql -h127.0.0.1 -P3306 .原创 2021-05-29 19:03:36 · 2447 阅读 · 0 评论 -
InnoDB行锁
行锁特点 :偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度 也最高。InnoDB 与 MyISAM 的最大不同有两点:一是支持事务;二是 采用了行级锁。...原创 2021-05-29 18:27:27 · 388 阅读 · 0 评论 -
Mysql并发参数调优
从实现上来说,MySQL Server 是多线程结构,包括后台线程和客户服务线程。多线程可以有效利用服务器资源, 提高数据库的并发性能。在Mysql中,控制并发连接和线程的主要参数包括 max_connections、back_log、 thread_cache_size、table_open_cahce。...原创 2021-05-29 16:03:18 · 325 阅读 · 0 评论 -
mysql内存管理及优化
1 内存优化原则 1) 将尽量多的内存分配给MySQL做缓存,但要给操作系统和其他程序预留足够内存。 2) MyISAM 存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此,如果有MyISAM表,就要预留更多的 内存给操作系统做IO缓存。 3) 排序区、连接区等缓存是分配给每个数据库会话(session)专用的,其默认值的设置要根据最大连接数合理 分配,如果设置太大,不但浪费资源,而且在并发连接较高时会导致物理内存耗尽。...原创 2021-05-29 15:56:04 · 599 阅读 · 0 评论 -
mysql中查询缓存优化
开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改, 之前的缓存会失效,修改比较频繁的表不适合做查询缓存。原创 2021-05-29 15:48:50 · 121 阅读 · 0 评论 -
mysql 应用层面优化
.1 使用连接池 对于访问数据库来说,建立连接的代价是比较昂贵的,因为我们频繁的创建关闭连接,是比较耗费资源的,我们有 必要建立 数据库连接池,以提高访问的性能。原创 2021-05-29 15:17:40 · 113 阅读 · 0 评论 -
mysql优化
1.大批量插入数据使用load 命令导入数据的时候,适当的设置可以提高导入的效率。如下图所示sql1.log中的数据使用load导入表对于 InnoDB 类型的表,有以下几种方式可以提高导入的效率:1) 主键顺序插入 因为InnoDB类型的表是按照主键的顺序保存的,所以将导入的数据按照主键的顺序排列,可以有效的提高导入数 据的效率。如果InnoDB表没有主键,那么系统会自动默认创建一个内部列作为主键,所以如果可以给表创建一个 主键,将可以利用这点,来提高导入数据的效率。..原创 2021-05-27 21:40:30 · 77 阅读 · 0 评论 -
mysql 查看索引使用情况
show status like 'Handler_read%'查看的是当前会话 索引使用情况show global status like 'Handler_read%'全局索引使用情况:Handler_read_first:索引中第一条被读的次数。如果较高,表示服务器正执行大量全索引扫描(这个值越低 越好)。Handler_read_key:如果索引正在工作,这个值代表一个行被索引值读的次数,如果值越低,表示索引得到的 性能改善不高,因为索引不经常使用(这个值越高越好)。原创 2021-05-26 23:04:30 · 864 阅读 · 0 评论 -
mysql 性能分析show profile
1.查看数据库profile 是否开启两种方式show variables like '%profiling%SELECT @@profiling默认profiling是关闭的,可以通过set语句在Session级别开启profiling:set profiling=1; //开启profiling 开关;2.show prifiles 命令show prifiles可以查看最近的几次查询根据 Query_ID,可以进一步执行 show profile cpu,.原创 2021-05-26 21:20:14 · 280 阅读 · 1 评论 -
mysql避免索引失效
避免索引失效1. 全值匹配对索引中所有列都指定具体值创建了索引:2.最左前缀法则如果索引了多列,要遵守最左前缀法则。指的是查询从索引的最左前列开始,并且不跳过索引中的列。查询条件是name ,会使用索引查询条件是name 、status ,会使用索引查询条件是status 、address ,不会使用索引,因为不符合最左匹配原则查询条件是name、address 使用了索引,但只使用了name的索引...原创 2021-05-26 20:58:33 · 1117 阅读 · 0 评论 -
show processlist 定位低效率执行sql
show processlist :慢查询日志在查询结束以后才纪录,所以在应用反映执行效率出现问题的时候查询慢查询 日志并不能定位问题,可以使用show processlist命令查看当前MySQL在进行的线程,包括线程的状态、是否 锁表等,可以实时地查看 SQL 的执行情况,同时对一些锁表操作进行优化。id:用户登录mysql时,系统分配的"connection_id",可以使用函数connection_id()查看user:显示当前用户。如果不是root,这个命令就只显示用户权限范围的s..原创 2021-05-26 20:32:47 · 206 阅读 · 0 评论 -
mysql explain使用
使用EXPLAIN关键字可以模拟查询优化器执行SQL查询语句,从而知道MySQL数据库是如何处理SQL语句,以及应该从哪个方面对SQL语句进行优化作用查看表的读取顺序 数据读取的操作类型 哪些索引可以使用 实际使用了那些索引 表之间的引用关系 有多少行数据被优化器查询各字段解释:1.idselect查询的序列号,包含一组数字,表示查询中执行select字句或操作表的顺序,该值一共有三种情况a.id相同:执行顺序由上至下,如下图所示执行顺序 t1 -> t3 -&..原创 2021-05-25 23:11:10 · 150 阅读 · 0 评论 -
mysql 高级题
1.部门工资前三高的所有员工Employee 表包含所有员工信息,每个员工有其对应的工号Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 85000 | 1 || 2 | Hen...原创 2021-05-14 17:55:41 · 103 阅读 · 0 评论 -
mysql 中等题
1.部门工资最高的员工Employee 表包含所有员工信息,每个员工有其对应的Id, salary 和 department Id。+----+-------+--------+--------------+| Id | Name | Salary | DepartmentId |+----+-------+--------+--------------+| 1 | Joe | 70000 | 1 || 2 | Jim | 90000 | 1 ...原创 2021-05-14 16:17:00 · 85 阅读 · 0 评论 -
mysql 简单题
1.重新格式化部门表部门表Department:+---------------+---------+| Column Name | Type |+---------------+---------+| id | int || revenue | int || month | varchar |+---------------+---------+(id, month) 是表的联合主键。这个表格有关于每个部...原创 2021-05-14 13:25:30 · 159 阅读 · 0 评论