2 左左在右边

尚未进行身份认证

我要认证

3年工作经验,C#全栈

等级
TA的排名 6w+

图书高性能mysql学习笔记--limit优化方法

1,limit的缺点。 limit用作于分页查询,用法 limit 偏移量,返回数量。一个简单的例子 limit 10000,10。这个查询将查询10010条数据,并抛弃前面的10000条,返回最后的10条结果,这样做的代价非常高,性能浪费严重。2,优化一:前端优化,尽可能避免大数据量便宜,即在查询中限制查询返回,例如强制查询中加入日期区间等。 优化二:数据库...

2020-04-03 15:22:10

遍历图OR森林C#代码实现

1,最近写业务用到了遍历森林,知道根节点和结束节点,实现挺不容易的,给大家分享一下吧。using AutoTaskServer.BLL;using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.T...

2020-03-27 18:52:13

Net Core 学习入门(八)-----使用SingalR2.0创建实时web应用

在netFrameWork4.5之后,微软提供了websocket相关的开发类库,使得后台可以和客户端建立起websocket链接,服务器可以做到向客户端推送消息。SingalR是包含websocket技术,专门为服务器推送开发集成的一个开发框架,使用他,你可以快速的开发推送服务。websocket不兼容ie8以下等浏览器,但是使用singalR会根据浏览器的不同选择不同的传输方式,...

2019-12-25 11:50:46

mysql----常用的索引

环境介绍:表tpi.cqca_userintegrationsummary,数据总共有'14738条。 使用explain关键字来估算受影响的行数进行优化。SELECT count(*) FROM tpi.cqca_userintegrationsummary1,没有任何索引检索的的行数 explain SELECT * FROM tpi.c...

2019-12-25 09:18:50

使用maven给项目集承spring

1,在pom.xml根节点增加节点,如果已存在properties节点,追加中间两行 <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <springVersion>3.2.5.RELEASE</springV...

2019-12-16 13:49:14

使用pechkin导出pdf

1,添加引用2,在项目中包含以下五个dll文件,并设置属性为始终复制前端代码:注意:pechkin原理是使用iis在模拟请求一次这个页面,所以要下载的页面不能为发起页面;例如:当你在a页面请求下载a页面,这种情况会早后pechin的setPageUrl()在请求一次a页面,a页面的的请求下载会再次触发发起下载请求,然后pechin回加载。 <div st...

2019-12-11 17:30:54

mysql----sql运行的原理

1,一条sql语句进入到数据库,会被解析器解析,校验语法是否正确。2,校验权限,验证是否有数据库或者表的增删改查权限。3,sql优化器对该语句进行优化。 一条复杂的sql,在解析的时候会有多个策略查询出预想的结果集。 例如:select a.* from a,b where a.Name="abc" and b.aId=a.Id。 ...

2019-12-04 15:28:14

sql查询优化之预估查询扫描行数-explain学习

sql中提供了explain 关键字来分析查询性能,语法如下:explain SELECT * FROM tpi.cqca_userintegrationsummary where Id =313253。重点关注字段 type 本次查询表联接类型,从这里可以看到本次查询大概的效率 key 最终选择的索引,如果没有索...

2019-12-03 11:22:31

springboot 配置mysql连接

server.port=8888spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTCspring.datasource.username=rootspring.dat...

2019-11-22 16:20:45

spring boot种出现的三个注解的作用

1.@AutowiredStudentService studentService;标识改对象不需要实例化,会在调用的时候根据实现的类进行注入,按照byType注入。。2,@Resource,按照byName注入。3,@Service,@Service("userService")注解是告诉Spring,当Spring要创建UserServiceImpl的的实例时,b...

2019-10-24 16:33:44

图书高性能mysql学习笔记--索引的优点

索引能大幅度提升查询性能,大部分索引时指的b-tree。1,索引事扫描全表变得扫描部分。2,索引使随机排序变成顺寻排序 3,索引可以使服务器避免排序和临时表。当然对大多数小数据表,全表扫描时优于索引的,索引对于大型表的查询提升是有效的,但随之带来表插入速度的变慢等代价。对于某些业务可以使用分区技术来解决,例如日期是查询必不可少的条件。...

2019-10-10 21:07:30

图书高性能mysql学习笔记-计数器表

1,计数器表是指为专门需要建立一个需要统计下载阅读次数的业务进行一个计数器表, 常用sql是update counter set readcount=readcount+1 where id="12123". 如果业务只是对单纯这些数据的统计不进行排重或者多次行为都有效或者不记录具体行为操作的话,这种单纯的计数表满足我们的查询,我们只需要在程序上触...

2019-10-09 20:58:37

图书高性能mysql学习笔记--缓存表和汇总表

提高数据库性能的有效办法之一就是建立缓存表和汇总表。 汇总表的好处是统计变得简单,对需要频繁统计的表插入性能进行了大大的提高。当一个业务频繁的电商网站需要统计近24小时的订单总数时,建立定时任务,每小时统计订单数量插入到汇总表里,然后累加24小时的记录总和,这样对数据库的开销变得非常小,查询也变得简单。不好的之处是,统计得来的数据有一定延时性,如果非要实时统计订单数量,我...

2019-10-08 20:03:47

图书高性能mysql学习笔记--范式和非范式设计得优缺点

数据库设计三大范式的定义第一范式 1、每一列属性都是不可再分的属性值,确保每一列的原子性 2、两列的属性相近或相似或一样,尽量合并属性一样的列,确保不产生冗余数据。举例:一个表字段同时出现商品1和商品2两个的设计是不符合第一范式的第二范式每一行的数据只能与其中一列相关,即一行数据只做一件事。只要数据列中出现数据重复,就要把表拆分开来。举例:一张订单表...

2019-10-08 17:05:08

图书高性能mysql学习笔记-数据库优化(字段设计原则篇)

数据库字段设计要获得更高的性能,遵循的几个原则: 更小的通常更好。由于更小的数据类型通常更快,因为它们占用最小的 磁盘、内存和缓存,并且处理时需要的cpu周期也更少。但是要确保没有嘀咕业务所需的存储的值的范围,毕竟系统上线了再改数据类型的范围,通常都以为着凌晨升级数据库...,数据量打了更是一件耗时的事情。 简单就好。简单数据类型的操作需要更好的cpu周期。例如,...

2019-09-30 13:31:34

图书高性能mysql学习笔记--储存引擎的修改

1,语句修改,更改表引擎的语句为:alert table mytable engine=InnoDB;这种非常耗资源2,导入和导出生成脚本,然后更改脚本的文件的引擎语句3,创建和查询语句: Create table innodb_table like myisam_table; alert table innodb_table ENGI...

2019-09-26 10:57:57

图书高性能mysql学习笔记--事务

案例:当存在这样一个业务场景,使用20购物券买价格为100的东西,账户余额为200。 sql描述如下: 购物券20的变为已使用, 检查余额充足 账户余额变为120, 增加一张订单。很明显,我们的这些操作要么全部成功,要么全部失败,否则我们的数据就会...

2019-09-26 10:21:23

图书高性能mysql学习笔记--储存引擎

1,innodb引擎是mysql默认的事务引擎,也是最重要的和使用最广泛的。它被用来设计用来处理大量短期(short-lived)事务,短期事务大部分是正常的,很少会被回滚。 innodb 是支持热备份的,支持高并发(行级锁),并且有良好的崩溃自动恢复。 2,MYISAM是5.1版本之前的引擎,不支持行级锁和事务,崩溃后无法自动恢复,不建议在继续...

2019-09-25 15:13:50

图书高性能mysql学习笔记--读写锁

当一行记录同时被更新和读取时,会发生什么是不可预估得,有可能是读取得是更新前的数据,也有肯能是之后的数据。mysql为了解决这个问题,采用一种解决方案:并发控制,具体实现一个由两种类型得锁组成的锁系统。这两种类型得锁同城被称为共享锁(share lock)和排他锁(exclusive lock),也叫读锁和写锁。 读锁,是共享的,多个线程可以同时读取同一个资源,且互不...

2019-09-25 10:40:52

图书高性能mysql学习笔记---mysql架构图解

从图中来看,mysql架构分为三层: 第一层主要处理与客户端的通讯,大部分并写请求在这里会被加入队列。每个客户端这里都会拥有一个进程。客户端链接服务器需要认证,基于账号和密码。 第二层是缓存和sql语句解析器、优化器,另外,mysql得内置函数实现,如日期,功能例如视图等都在这一层。优化器得作用之一是:查询索引,还是遍历表。对于select得语句会先检查询缓存,如果能...

2019-09-25 10:19:14

查看更多

勋章 我的勋章
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。