MySQL 索引
索引是一种能提高数据库查询效率的数据结构,是数据库中用来提高性能的常用工具;类似于一本字典的目录,可以帮你快速找到对应的记录。
优缺点优点
索引可以加快数据查询速度,减少查询时间
唯一索引可以保证数据库表中每一行的数据的唯一性缺点
创建索引和维护索引要耗费时间
索引需要占物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间
以表中的数据进行增、删、改的时候,索引也要动态的维护分类所有的 MySQL 列都可以被设为索引,对相关列使用索引是提高 SELECT 性能的最佳途径。根据存储引擎可以定义每个表最大的索引数和最大索引长度,每种存储引擎对每张表支持最少 16 个索引,总索引长度至少为 265 个字节;大多数存储引擎有更高的限制。数据结构
B+树索引:所有数据存储在叶子节点,复杂度为 O(logn),适合范围查询
哈希索引: 适合等值查询,检索效率高,一次到位
全文索引:MyISAM 和 InnoDB 中都支持使用全文索引,一般在文本类型 char、text、varchar 类型上创建
R-Tree 索引: 用来对 GIS 数据类型创建 SPATIAL 索引物理存储
...
MySQL 入门
体系结构网络连接层核心服务层核心服务层是整个数据库服务器的核心,主要包括了系统管理和控制工具、连接池、SQL 接口、解析器、查询优化器和缓存等部分系统管理和控制工具:提供数据库系统的管理和控制功能,例如对数据库中的数据进行备份和恢复,保证整个数据库的安全性,提供安全管理,对整个数据库的集群进行协调和管理等连接池:主要负责存储和管理客户端与数据库的连接信息,连接池里的一个线程负责管理一个客户端到数据库的连接信息SQL 接口:主要负责接收客户端发送过来的各种 SQL 命令,并将 SQL 命令发送到其他部分,并接收其他部分返回的结果数据,将结果数据返回给客户端解析器:主要负责对请求的 SQL 解析成一棵“解析树”,然后根据 MySQL 中的一些规则对“解析树”做进一步的语法验证,确认其是否合法查询优化器:在 MySQL 中,如果“解析树”通过了解析器的语法检查,此时就会由优化器将其转化(如索引的选择,表的读取顺序等)为执行计划,然后与存储引擎进行交互,通过存储引擎与底层的数据文件进行交互缓存:MySQL 的缓存是由一系列的小缓存组成的。例如:MySQL 的表缓存,记录缓存,MySQL 中的权 ...
MySQL 视图
表中存放的是实际的数据,而视图中存放的是 SQL 查询语句
当我们使用视图时,会运行视图里的 SQL 查询语句创建出一张临时表,当客户端与数据库之间的连接断开后,临时表会被自动删除
优势简单使用视图的用户完全不需要关心后面对应的表的结构、关联条件、和筛选条件
安全使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,而通过视图可以轻松实现
独立一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,可通过修改视图来解决,不会对访问者造成影响
操作视图的操作跟 MySQL 一样,包括增、删、改、查
创建创建视图需要有 CREATE VIEW 的权限,并且对于查询涉及到的列有 SELECT 权限;如果使用 CREATE OR REPLACE,那么哈需要有该视图的 DROP 权限1CREATE [OR REPLACE] [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS select_statemen ...
MySQL 存储过程
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。
可以理解为使用 SQL 进行编程,可以被数据库自己调用或者第三方程序(Java、Python、Bash 等)调用。
优势效率性存储过程编译一次后,就会存到数据库,每次调用时都直接执行。
安全性完成某个特定功能的存储过程一般只有特定的用户可以使用,具有使用身份限制,更安全。
复用性存储过程往往是针对特定的功能编写的,可以重复调用。
可维护性当功能要求发生小的变化时,修改存储过程即可。
降低网络流量存储过程编译好会放在数据库,远程调用时,不用传输大量 SQL 语句。
操作语法123456789delimiter $$#创建存储过程CREATE PROCEDURE name()BEGIN SQL;END;$$delimiter ;#调用存储过程CALL name();
触发器MySQL 触发器(Trigger)是一种特殊的存储过程,用来实现数据约束,数据验证,数据复制等功能 ...
Windows 系统通过组策略拒绝安装垃圾软件
有些流氓软件,防不胜防的推广安装还可以理解,毕竟免费产品需要生存;可是效果不咋地,还把电脑搞得一塌糊涂;居然连卸载都不让卸干净,就无法容忍了。
比如:百度杀毒和百度卫士,在公司很多电脑中招以后,在网上找到了建立本地安全策略来禁止安装软件的教程,现在以百度杀毒及百度卫士为例,整理一篇出来。
文件准备软件证书:国内常用的一些软件证书,详情如图:
百度云,提取码: l7pm
创建策略1.开始 -> 运行 -> 输入 gpedit.msc-> 打开本地组策略编辑器;或者从控制面板 -> 管理工具中打开本地安全策略;
2.选中软件限制策略(XP 系统在计算机配置 -> Windows 设置 -> 安全设置中),第一次使用需要右键,创建软件限制策略;
3.选择强制项 -> 右键 -> 属性;
4.勾选强制证书规则 -> 应用并确定;(XP 系统忽略本步骤)
5.选中其他规则 -> 右键 -> 新建证书规则;
6.浏览 -> 添加相应的软件证书 -> 安全级别设置为不允许;
7.应用->弹出“当前未执行 ...
Windows 系统优化の组策略
Win+R 打开运行,输入 gpedit.msc 打开本地组策略编辑器
彻底关闭“Windows 安全中心”“启用 Windows 防火墙”提示从 Windows 7 开始,在系统装好以后,都会关闭巨硬家自带的一系列安全软件;可是系统频繁提示,什么禁用服务,修改注册表,全部无效依次展开,计算机配置 -> 管理模板 -> Windows 组件 -> Windows 安全中心 -> 通知,双击打开左边的“隐藏所有通知”,选中 已启用,应用
Google 平板:Nexus 7(2012)
2019 年辞职、搬家,尸体疑似(忙着恋爱没关注)丢失!
2017 年 6 月 3 日作死,在水龙头下冲了个澡,寿终正寝!
五年后的今天依然坚挺着,官方 Android 6.0 升级计划无望,XDA 论坛有 7.0 固件可供使用!
2012 年双十二淘宝海淘(¥1786)!
刷机RecoveryTWRP 是国外 Android 爱好者开发的一款工具,全名是:TeamWin Recovery Project;主要作用包括刷机(CM、miui 等)、备份、恢复等……当你的设备变砖以后,TWRP 是修复工作必不可少的工具。Recovery 用的是 TWRP(TeamWin Recovery Project) 2.8.7.0
SystemCyanogenMod (简称 CM)是一个免费、基于社区构建的 Android OS 的修改和改进版本。目前有CM4(Android 1.6)、CM5(Android 2.1)、CM6(Android 2.2)、CM7(Android 2.3)、CM8(Android 3.X 因为 Google 并没有开放这一代系统的源代码,所以跳过了开发)、CM9( ...
常用的网络协议
生成树协议STP(Spanning Tree Protocol)是生成树协议的英文缩写,可应用于计算机网络中树形拓扑结构建立,主要作用是防止网桥网络中的冗余链路形成环路工作。
运行方式就是使用生成树算法(SAT)创建一个拓扑数据库,然后找出并关闭冗余链路
生成树协议运行生成树算法(STP)。生成树算法很复杂,但是其过程可以归纳为以下三个部分。
选择根网桥
选择根端口
选择指定端口
运行方式根网桥依据交换机的网桥优先级,网桥优先级是用来衡量网桥在生成树算法中优先级的十进制数,取值范围是0~65535.默认值是32768,网桥ID=网桥优先级+网桥MAC地址组成的,共有8个字节。由于交换机的网桥优先级都是默认,所以在根网桥的选举中比较的一般是网卡MAC地址的大小,选取MAC地址小的为根网桥。
根端口依据
到根网桥路径开销最低。
根路径开销是两个网桥间的路径上所有链路的开销之和,也就是某个桥网到达根网桥的中间所有链路的路径开销之和。
最低的发送方网桥ID。
最低的端口ID。
由于端口的ID是由优先级和端口号组成,保证了根端口的唯一性。
指定端口依据
根路径开销较低
所在的交换机网桥 ...