使用llike查询的时候,%在第一个位置,索引失效 or条件,索引并列,两个字段都是索引字段,才会生效 MySQL一个索引可以包含多个字段,对于多列索引,只有使用了这些字段中的第一个字段时,索引才会生效 后面遇到的再添加 mysql索引失效 mysql
1、示例 使用explain语句可以分析查询语句 eg:explain select * from org_user t1 left join org_relation t2 on t2.user_id_ = t1.id_ left join org_group t3 on t2.group_id_ = t3.id_ 这个语句会产生如下信息 再来一个使用union的sql eg: EXPLAIN SELECT * FROM ( ( SELECT * FROM org_relation LIMIT 11 ) UNION ( SELECT * FROM org_relation LIMIT 1 ) ) a 产生如下信息 2、结果分析 2.1、id id是select的查询序列号 2.2 、select_type select_type表示select语句的类型(dependent表示一个依赖关系,例如一个查询对子查询语句做了筛选操作,则子查询就依赖与外面的sql,子查询最终结果取决于外面的sql语句) simple表示一个不包含连接和子查询的查询 primary表示主查询(最外层的查询)..... mysql explain命令分析sql语句性能 mysql
1、查看连接次数 show STATUS like 'Connections'; 2、查看mysql服务器的上线时间 show STATUS like 'Uptime'; 3、慢查询的次数 show STATUS like 'Slow_queries'; 4、查询操作的次数 show STATUS like 'Com_select'; 5、插入操作的次数 show STATUS like 'Com_insert'; 6、更新操作的次数 show STATUS like 'Com_update'; 7、更新操作的次数 show STATUS like 'Com_delete'; mysql查询数据库性能参数 mysql
临界资源需要保持他的唯一性,再代码中,可以通过单例模式来实现(这里是典型的生产者/消费者问题) 构造方法中,用synchronized来做同步处理,为了避免每次进来都要给代码加锁影响性能,先在外层套if做判断 这里的connectionMap就是一个临界资源,代码初始化创建了8个数据库链接,放在map里面,然后多线程来获取调用这些connection 为了保证临界资源的安全,对获取链接和放回链接做了一个枷锁的处理,建立一个ReentrantLock锁,然后获取两个条件,获取连接的时候,判断是否有链接,有就继续,放回链接的时候,判断链接池是否已经满了,没满就放回 package cn.com.enersun.datahub.powerevent.consumer.database; import java.sql.Connection; import java.util.HashMap; import java.util.LinkedList; import java.util.Map; import java.util.concurrent.locks.Condition; impor.... 多线程占用临界资源 java
1.后台运行设置 redis通过设置 daemonize yes来让redis作为一个守护进程运行 2.远程登陆 redis远程登陆需要做配置 3.关于bind bind属性配置了 Redis侦听来自服务器上所有可用网络接口的连接,例如我的电脑有两个网卡,两个ip,我再bind里配置了ip1,那么我再客户端链接redis的时候通过ip2去链接就链接不上,只能通过ip1去链接 4.关于protected-mode protected-mode默认为yes,需要配合bind一起使用,bind的值默认为127.0.0.1,开启这项配置的话,需要设置bind或密码 关闭配置的话,则不设置密码和bind都可以访问 redis后台运行,保护模式设置 redis
mysql在操作视图的时候爆出以下错误 The user specified as a definer ('root'@'%') does not exist 这个错误一般是因为视图是我们从其他地方复制过来的,创建视图的用户不是我们本地的用户,对视图做一定的修改就可以解决这个问题,可以将视图的用户改成本系统的用户,或者删除视图,再创建 执行下面的命令查看创建信息 show create table time_zone_view 拿到创建语句,可以看到里面定义了一个创建者,我们需要删除这个视图,修改创建语句,删除语句中的definer再执行命令创建视图 这样就可以解决这个问题了 mysql操作视图出现用户不存在 mysql