索引的原理与作用,各种书籍和网络上的介绍可以说是铺天盖地,基本上主流数据库系统的也都是一致的.选择索引字段的原则,比如外键字段.数据类型较小的字段.经常用于查询或排序的字段.表关联的字段等等,在此不做赘述.本人在工作中见到过很多人创建的索引,回想自己以前也会有理论知识空洞的体会,总感觉理论知识无法与具体的工作问题相匹配.在此仅以工作学习中积累的一点经验和问题场景整理以飨读者.先把常见的注意事项整理如下: 索引应该建在选择性高的字段上(键值唯一的记录数/总记录条数),选择性越高索引的效果越好.价值…
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytable表: CREATE TABLE mytable(   ID INT NOT NULL,    username VARCHAR(16) NOT NULL  );   我们随机向里面插入了10000条记录,其中有一条:5555, admin. 在查找username="admin"的记录…
solr与.net系列课程(八)solr中重跑索引的注意事项 我们如果在项目中使用solr,那肯定就是把数据库中的数据跑进solr服务器中,solr有两种操作一种是新建索引,一种是增量索引,这里我们来说一说新建索引的一下注意事项 终止跑索引                  http://192.168.0.9:8080/solr/collection1/dataimport?command=abort 开始索引                     http://192.168.0.9:80…
使用索引的注意事项 使用索引时,有以下一些技巧和注意事项: 1.索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的.所以我们在数据库设计时不要让字段的默认值为NULL. 2.使用短索引 对串列进行索引,如果可能应该指定一个前缀长度.例如,如果有一个CHAR(255)的列,如果在前10个或20个字符内,多数值是惟一的,那么就不要对整个列进行索引.短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操…
当然请记住,explain是一个好习惯! MySQL索引失效的常见场景 在验证下面的场景时,请准备足够多的数据量,因为数据量少时,MySQL的优化器有时会判定全表扫描无伤大雅,就不会命中索引了. 1. where语句中包含or时,可能会导致索引失效 使用or并不是一定会使索引失效,你需要看or左右两边的查询列是否命中相同的索引. 假设USER表中的user_id列有索引,age列没有索引. 下面这条语句其实是命中索引的(据说是新版本的MySQL才可以,如果你使用的是老版本的MySQL,可以使用e…
Httpd服务入门知识-Httpd服务常见配置案例之基于客户端来源地址实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Options  1>.OPTIONS指令概述 Options:后跟1个或多个以空白字符分隔的选项列表 在选项前的+,- 表示增加或删除指定选项 常见选项: Indexes: 指明的URL路径下不存在与定义的主页面资源相符的资源文件时,返回索引列表给用户 FollowSymLinks: 允许访问符号链接文件所指向的源文件 None: 全部禁用…
Httpd服务入门知识-Httpd服务常见配置案例之虚拟主机 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.虚拟主机实现方案 1>.Apache httpd 有三种实现虚拟主机的方案 基于ip: 为每个虚拟主机准备至少一个ip地址 基于port: 为每个虚拟主机使用至少一个独立的port 基于FQDN: 为每个虚拟主机使用至少一个FQDN 2>.创建测试网页文件 [root@node101.yinzhengjie.org.cn ~]# mkdir /var/www/ht…
Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.status功能概述 status页面可以显示出Apache的工作状态,有助于咱们了解Apache服务是否工作正常 默认status模块是动态加载的哟: [root@node101.yinzhengjie.org.cn ~]# httpd -M | grep status_module status_module (shared) […
Httpd服务入门知识-Httpd服务常见配置案例之ServerSignature指令选项 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ServerSignature指令概述 当客户请求的网页并不存在时,服务器将产生错误文档,缺省情况下由于打开了 ServerSignature选项,错误文档的最后一行将包含服务器的名字.Apache的版本等信息 如果不对外显示这些信息,就可以将这个参数设置为Off 设置为Email,将显示ServerAdmin 的Email提示 1>.…
Httpd服务入门知识-Httpd服务常见配置案例之实现用户家目录的http共享 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.实现用户家目录的http共享前提 在配置家目录共享的2个前提是: 基于模块mod_userdir.so实现 SELinux: http_enable_homedirs 其中userdir模块默认是动态在家的,而selinux我们一般在内外情况下是禁用的: [root@node101.yinzhengjie.org.cn ~]# httpd -M…
Httpd服务入门知识-Httpd服务常见配置案例之定义路径别名 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.创建测试数据 [root@node101.yinzhengjie.org.cn ~]# mkdir -pv /data/downloads/ mkdir: created directory ‘/data’ mkdir: created directory ‘/data/downloads/’ [root@node101.yinzhengjie.org.cn…
Httpd服务入门知识-Httpd服务常见配置案例之设定默认字符集 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看生产环境中使用的字符集案例 1>.查看腾讯设置的默认字符集 2>.查看京东设置的默认字符集 二.修改httpd默认的字符集 1>.查看默认的httpd字符集 [root@node101.yinzhengjie.org.cn ~]# AddDefaultCharset UTF- [root@node101.yinzhengjie.org.cn ~]#…
Httpd服务入门知识-Httpd服务常见配置案例之日志设定 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.日志类型 [root@node101.yinzhengjie.org.cn ~]# ll /var/log/httpd/ #默认存放httpd服务的日志的信息 total -rw-r--r-- root root Dec : access_log #访问日志,记录了谁访问网站以及访问的PATH信息,服务端响应状态码等,利用该日志信息可以计算PV,UV,IP地址统计等…
Httpd服务入门知识-Httpd服务常见配置案例之定义站点主页面及错误页面配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.定义站点主页面 [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep DirectoryIndex DirectoryIndex index.html [root@node101.yinzhengjie.org.…
Httpd服务入门知识-Httpd服务常见配置案例之定义'Main' server的文档页面路径(文档根路径)  作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.创建测试文件 [root@node101.yinzhengjie.org.cn ~]# mkdir -pv /data/www/html mkdir: created directory ‘/data/www’ mkdir: created directory ‘/data/www/html’ [root@node…
Httpd服务入门知识-Httpd服务常见配置案例之DSO( Dynamic Shared Object)加载动态模块配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.加载动态模块配置案例 [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf | grep ServerRoot #表示主配置文件中的服务器根路径为"/etc/httpd&qu…
Httpd服务入门知识-Httpd服务常见配置案例之MPM( Multi-Processing Module)多路处理模块 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.MPM( Multi-Processing Module)多路处理模块 MPM( Multi-Processing Module)多路处理模块分为:"prefork, worker, event",接下来我们查看一下如何配置吧. 1>.prefork的配置 StartServers 启…
Httpd服务入门知识-Httpd服务常见配置案例之配置持久连接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看默认的持久连接时间 [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" Listen Include conf.modules.d/*.conf User apache…
Httpd服务入门知识-Httpd服务常见配置案例之修改监听的IP和Port 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看默认配置 [root@node101.yinzhengjie.org.cn ~]# egrep -v "^ *#|^$" /etc/httpd/conf/httpd.conf ServerRoot "/etc/httpd" Listen Include conf.modules.d/*.conf User apach…
Httpd服务入门知识-Httpd服务常见配置案例之显示服务器版本信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.httpd配置文件的组成 1>.主要组成 Global Environment Main server configuration virtual host 2>.配置格式:directive value(指令 属性值) directive 不区分字符大小写 value 为路径时,是否区分大小写,取决于文件系统 3>.官方帮助 博主推荐阅读: ht…
TX行锁发生的常见场景: 1.当前会话要更新或删除的记录,已经被其他会话更新或删除. 2.对于表上有唯一索引的情况,多个会话插入或更新为相同的键值. 3.对于表上有位图索引的情况,多个会话即使更新不同记录,只要这些记录在位图索引上的键值相同,也会产生行锁. 1.当前会话要更新或删除的记录,已经被其他会话更新或删除. 2.对于表上有唯一索引的情况,多个会话插入或更新为相同的键值. 3.对于表上有位图索引的情况,多个会话即使更新不同记录,只要这些记录在位图索引上的键值相同,也会产生行锁. 一般我们可…
Httpd服务入门知识-Httpd服务常见配置案例之基于用户账号实现访问控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.基于用户的访问控制概述 认证质询: WWW-Authenticate:响应码为401,拒绝客户端请求,并说明要求客户端提供账号和密码 认证: Authorization:客户端用户填入账号和密码后再次发送请求报文:认证通过时,则服务器发送响应的资源 认证方式两种: basic: 明文认证,不过可以配合https进行加密传输问题也不大. digest:…
JVM调优 GC调优是最后要做的工作,GC调优的目的可以总结为下面两点: 减少对象晋升到老年代的数量 减少FullGC的执行时间 通过监控排查问题及验证优化结果,可以分为: 命令监控:jps.jinfo.jstack.jmap.jstat.jhat 图形化监控:JConsole和VisualVM 阿里巴巴开源的 Java 诊断工具:Arthas(阿尔萨斯): 如果GC执行时间满足下列所有条件,就没有必要进行GC优化了: Minor GC执行非常迅速(50ms以内) Minor GC没有频繁执行(…
目录 使用IDEA模拟git命令使用的常见场景 前期准备 新建一个远程仓库 在一个文件夹内建立两个子文件夹作为两个本地仓库的存放位置 本地仓库与远程仓库建立联系 模拟两个用户协同开发的场景(使用IDEA自带界面操作,不使用命令行) 推送代码到远程仓库(当只有一个人在维护远程仓库时) 克隆远程仓库项目 拉取远程仓库的代码(远程仓库与本地仓库无冲突) 拉取远程仓库的代码(远程仓库与本地仓库有冲突) 使用IDEA模拟git命令使用的常见场景 大家好,最近白泽第一次开始参与小组合作开发,以前都是自己用g…
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS等: <disruptor笔记>系列链接 快速入门 Disruptor类分析 环形队列的基础操作(不用Disruptor类) 事件消费知识点小结 事件消费实战 常见场景 等待策略 知识点补充(终篇) 本篇概览 本文是<disruptor笔记>系列的第六篇,主要内容是将一些常用的消费模式…
云时代已经来临,云上很多场景下都需要数据的迁移.备份和流转,各大云厂商也大都提供了自己的迁移工具.本文主要介绍京东云数据库为解决用户数据迁移的常见场景所提供的解决方案. 场景一:数据迁移上云 数据迁移上云是最常见的一类场景,目前京东云提供了两个DTS(Data Transformation Service)迁移工具供选择,一个是数据迁移,一个是数据同步: 二者的主要区别如下: 下面是这两个工具使用中的一些常见问题: 01 两个迁移工具的原理是什么? 以MySQL为例,两个工具都有全量迁移/增量迁…
对于大数据量的表格,尤其是百万行以上的数据表,一定要对其建立索引,否则查询速度极慢.(参考后面的测试结果)建立索引时需注意: MySQL的索引有两种:单列索引(即在某一列上建索引).多列组合索引(即在多个列上建立同一个索引),不像SQL Server分聚集索引,非聚集索引. 如何建立单列索引: 格式:CREATE INDEX 索引名 on 表名(列名) 例如:CREATE INDEX idx_geoinfo_tiny_cabid ON geoinfo_tiny (cabid)#创建一个名为idx…
EXCEL表格注意事项: •      编码是0开头的,格式必须是文本,否则前面请加字母: •      注意全角半角,中文标点英文标点: •      编号文字类开头和结尾不要有空格,姓名中间也不要有空格: •      填写编码的地方不能录入中文,请确认编码后在录入: •      日期类的请按照2006-8-1这个格式录入: •      手机号码录入需要全部数字,中间不要有符号和空格: •      导入时候空行就表示结束,空行后面的数据不会导入: •      数字字段不要用科学计数法…
索引缺点 1.虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行insert.update和delete.因为更新表时,不仅要保存数据,还要保存一下索引文件.2.建立索引会占用磁盘空间的索引文件.一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会增长很快.索引只是提高效率的一个因素,如果有大数据量的表,就需要花时间研究建立最优秀的索引,或优化查询语句. 索引注意事项 使用索引时,有以下一些技巧和注意事项:1.索引不会包含有null值的列只要列中包含有nu…
前提, Elasticsearch之curl创建索引库 Elasticsearch之curl创建索引 注意事项 1.索引库名称必须要全部小写,不能以下划线开头,也不能包含逗号 2.如果没有明确指定索引数据的ID,那么es会自动生成一个随机的ID,需要使用POST参数 curl -XPOST http://192.168.80.200:9200/zhouls/emp/ -d '{"name" : "tom"}' 3.如果想要确定我们创建的都是全新的数据 1:使用随机I…