MySQL索引原则
前言
有关索引的知识,记录下,防止遗忘
123ALTER TABLE 表名 ADD [UNIQUE | FULLTEXT | SPATIAL] INDEX | KEY [索引名] (字段名1 [(长度)] [ASC | DESC]) [USING 索引方法];或CREATE [UNIQUE | FULLTEXT | SPATIAL] INDEX 索引名 ON 表名(字段名) [USING 索引方法];
正文最左前缀匹配原则MySQL 会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配。所以要尽量把这些条件放在最后,把“=”条件放在前面。举例如下:
反例,不会用到 b 列的索引:
1select * from xttblog where a=1 and c>0 and b=2
正例,会用到 b 列的索引:
1select * from xttblog where a=1 and b=2 and c>0
在索引选择上,尽量选择区分度高的列作为索引,区分度的公式是 count(distinct col)/count(*),表示字 ...
RAID模式
前言
因为安装了黑群晖,需要做一个raid来保证数据的安全和完整,便了解了下raid的原理。参考:基本RAID级别简介
RAIDRAID 0:无差错控制的带区组
要实现RAID 0必须要有两个以上硬盘驱动器,RAID 0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。因为将数据分布在不)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID可以提高数据传输速率,比如同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。
RAID 1:镜像结构
对于使用这种RAID 1结构的 ...
SqlServer 更改数据库名称
前言
数据库因为一开始命名不规范,导致后来需要修改数据库名称参考:SqlServer 更改数据库名称
操作
1.首先选中需要更改数据库右击属性找到文件,可直接修改数据库逻辑名称
2.选中数据库右击选择重命名修改数据库名称。 (必要时候需要改成单用户模式)
3.将数据库进行分离,找到数据库文件mdf与ldf文件,直接更改文件名称
4.附加数据库回来(此处注意需要重新选择物理文件路径,默认的为原先老的文件名)
WebService
前言
WebService学习记录因为公司的WebService是用.net做的,业务端是用java来显示,需要将WebService转成jar包调用。
Webservice可以使用Eclipse的Web Service Client生成代码
默认生成的代码不带认证信息
需要添加 -XadditionalHeaders 参数
生成jar包 D:\Doc 使用wsimport的-clientjar 不包含源码打包成jar
1wsimport -keep -d D:\Doc -s D:\Doc -p com.yd.service -clientjar D:\Doc\service-1.0.3.jar -encoding utf-8 -verbose -XadditionalHeaders http://192.168.1.131:33046/YdDatacenterCloud.CloudCenter/CloudWebServicer/?wsdl
生成jar包 D:\Doc 包含源码打包成jar
1wsimport -keep -d D:\Doc -s D:\Doc -p ...
删除Maven下无效的lastUpdated文件
前言
删除maven仓库中大量未下载成功的.lastUpdated文件。参考:删除maven仓库中的LastUpdated文件
bat脚本1234567891011@echo offrem REPOSITORY_PATH是Maven的路径set REPOSITORY_PATH=D:\M2rem 正在搜索...for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do ( del /s /q %%i)rem 搜索完毕::pause
附录:bat脚本下载
数据库服务器情况
前言
想了了解数据库目前的连接池情况和日志文件占用情况
连接池情况12345678910111213select * from master.dbo.sysprocesseswhere dbid = DB_ID('database')select @@MAX_CONNECTIONSSELECT @@CONNECTIONSsp_who 'sa'select spid,ecid,status,loginame,hostname,cmd,request_idfrom sys.sysprocesses where loginame='sa' and hostname='JUNO'
日志文件占用情况123456789101112131415161718192021222324DBCC SQLPERF(LOGSPACE)DBCC showfilestatsExec sp_spaceusedSELECT a.name [文件名称] ,cast(a.[size]*1.0/128 as decimal(12,1)) AS ...
一些Bat的备份脚本
前言
因为需要主从盘,跨服务器之类的备份,记录一下常用的备份脚本参考:Bandizip 命令行参数参考:Winrar 命令行参数
正文
一个备份到从盘的demo12345678910111213141516171819202122232425@echo offrem echo是off 不打印注释rem:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 备份Tomcat::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::title 备份Tomcatset rar=E:\backup\rem 根据时间在E:\backup\创建当天的新文件夹 例:20200512set data=%date:~0,4%%date:~5,2%%date:~8,2%md %rar%%data%rem 利用Bandizip做从盘备份Bandizip bc -aoa -o:%rar%%data%\ D:\Tomcat8-01 D:\Tomcat8-02 ...
批量备份数据库
前言
一些业务服务器在同一个服务器上很久没有做全量备份了,需要临时备份一次,就想做一个脚本全部备份一次。参考:SQL Server 批量完整备份
单库备份1234567891011use datacenterdeclare @SqlBackupDataBase as nvarchar(1000)--根据时间拼接bak名称,形成备份语句set @SqlBackupDataBase=N'BACKUP DATABASE Gd_datacenter TO DISK = ''F:\backup\Gd_datacenter-'+CONVERT(varchar(10),GETDATE(),120)+'Full.bak''WITH FORMAT, NAME = N''Gd_datacenter_Full_' + CONVERT(varchar(10),GETDATE(),120)+''' '--备份文件格式print @SqlBackupDataBase --打 ...
Redis
前言
Redis学习记录
Redis下载
Windows下载地址3.x.x
Windows下载地址5.x.x
Windows下配置
redis.windows.conf文件配置密码requirepass password(你的密码)
Windows下启动
1234567@echo offcd /d D:\Redis-x64-3.2.100[替换为你的redis路径]start redis-server.exe redis.windows.confecho redis start...::pause
在Redis目录下运行
1redis-cli.exe -h 127.0.0.1 -p 6379
123set key abcget key
Redis服务安装
进入Redis安装包目录,cmd安装服务
1redis-server --service-install redis.windows-service.conf --loglevel verbose
提示 Redistribution successfully installed as a service.即安装成功
R ...
Tomcat服务
前言
Tomcat服务,异常处理笔记
Tomcat安装卸载服务安装 cmd 根目录 service.bat install Tomcat9
卸载cmd根目录 service.bat remove Tomcat9
Nt Kernel & System 占用80端口net stop http 按Y 确定
Sc config http start= disabled
重启Apache
Tomcat8080端口无法启动查看端口占用情况netstat -ano|findstr 8080
删除占用端口的PIDtaskkill /pid 18352 /f
强制关闭8080端口
12345678910@echo offsetlocal enabledelayedexpansionrem 8080端口for /f "delims= tokens=1" %%i in ('netstat -aon ^| findstr "8080"') do (set a=%%igoto js):jstaskkill /f /pid & ...