SQL Server索引结构

索引是我们常见的优化数据库查询速度的重要手段和方式,本文将通过如下几个方面来描述SQL Server数据的索引结构相关知识。1. 什么是索引对于索引的理解,我们可以看成一本书的目录,当书没有目录存在时候,要找到书上某一章的内容时非常麻烦,只有从第一页开始翻一页一页看,直到找到我们所要找的内容所在的那一页位置。那么对于数据库也是如此,如果从表A中要找一个某一个字段B它的值等于C的所有...
阅读全文

SQL Server 统计信息

SQL Server统计信息是区别于Mysql的一个重要特性,MySQL数据库中并不存在统计信息这一个东西,可能对于一部分开发来说从来没有听说过统计信息这一东西,本文的将来介绍统计信息的一些知识。1. 什么是统计信息?统计信息的用途是什么?SQL Server统计信息SQL Server statistics,主要是用来优化SQL语句的执行速度的。其原理是查询优化器采用统计信息来产...
阅读全文

关于MySQL 5.7下 like 索引的探究

模糊搜索是我们常用的一个场景,在Mysql中一般都是用Like实现,对于MySQL的索引一直认为是最左索引,所有Like ’%%‘是不命中索引的,’%dsafasdf‘是不命中的。而Like ’dsafas%‘ 是命中的这个观念一直停留在我的脑海中,但是5.7甚至是8.0的还是不是这样呢,有人说不是,mysql已经修复了这个问题。今天特意尝试一下。
阅读全文

SQL Server 急救包(First Responder Kit)入门教程

今年开始一直在持续优化公司一个老项目中的SQL Server数据库,主要暴露出来的问题是查询非常缓慢,之前一些的文章中也提到过,趁着疫情没有结束,系统流量不高做一些持续性的优化,其实之前就陆陆续续的做了好多,今天主要介绍一位真真的大神和他工具给我提供的帮助。Brent Ozar大神是微软的SQL Server Master级别专家,提供独立的SQL Server数据库优化咨询,多年的SQL...
阅读全文

ElasticSearch深度分页

在项目中经常用的是ElasticSearch,分页也是一个非常常见的场景。对于ElasticSearch下的分页实现,一般情况下是使用自带的From +Size 来实现的。如: GET /mydoc/_search { "From":0 "Size": 100 "query":{ "match_all":{ } }...
阅读全文

MySQL Explain语句详解

通常情况下当我们遇到MySQL下某句SQL查询语句特别缓慢的情况,我们会通过Explain语句去查看优化器对这个语句的执行情况。Explain语句会输出执行的SQL的一些优化信息和索引信息已方便我们来优化SQL语句。因此看懂Explain语句就非常非常的重要。本文主要就介绍关于Explain语句的输出信息。1.IdSELECT查询的标识符, 每个SELECT语句都会自动分配一个唯一...
阅读全文

使用Navicat通过HTTPS连接MySQL

不知道是应该感谢新型冠状病毒还是怎么着,给了我一个过年在家看技术的时间开玩笑还是希望这该死的东西早日滚蛋,武汉一切顺利,中国一切顺利,上海一切顺利吧。先从解决一个小问题开始吧。线上系统一直需要管理mysql和查询mysql的数据,但是由于严格的网络测试,所有除了80、443之外的端口不开放,ssh也是通过运维两层跳板进入的,这给管理mysql带来非常大的麻烦。之前用过一段时间的phpmya...
阅读全文

SQL Server线上生产环境调优之Profiler

一直以来公司一套线上运行的招投标业务系统,基于.net framework 4.5,年代比较久远直接也快7年了,由于一些历史原因和当年团队的因素之前的开发者选择了存储过程作为主要业务逻辑的开发方式,相信这也是国内大多数此类业务系统的问题。随着业务逻辑日益复杂,数据量的日益增加,查询越来越缓慢同时有些操作开始出现超时的现象,这自然是非常影响用户体验的,因此优化迫在眉睫。对性能的优...
阅读全文

MYSQL5.7版本sql_mode=only_full_group_by问题

系统因为升级了mysql后造成了一些原有在5.6版本mysql下运行正确的sql语句报错,主要是group by语句,原因如下:mysql5.7.x版本,默认是开启了 only_full_group_by 模式的,但开启这个模式后,原先的 group by 语句就报错,然后又把它移除了。一旦开启 only_full_group_by ,感觉,group by 将变成和 distinct...
阅读全文

SQL Server 缓存清除与内存释放

近期遇到了关于SQL Server服务器内存暴涨的问题,做为一个常常工作再Linux和Mysql的用户,如今对SQL Server的确不是最熟悉,因此专门记录下相关问题。首先需要明确这些暴涨的内存是什么,来自哪里?内存一般都是SqlServer运行时候用作缓存的,例如你运行一个select语句,执行个存储过程,调用函数;1. 数据缓存:执行个查询语句,SqlServer会将相关...
阅读全文
  • 本博客使用免费开源的 laravel-bjyblog v5.5.1.1 搭建 © 2014-2018 lokie.wang 版权所有 ICP证:沪ICP备18016993号
  • 联系邮箱:kitche1985@hotmail.com