mysql索引的常见问题

分类

索引主要分为多列索引 单列索引

这两种索引可以都可以是唯一的

另外 还有主键索引

失效

存在or条件中的字段没有加索引

多列索引没有使用的第一部分

like语句以%开头

存在索引列数据的隐形转化 如果列上是字符串 查询的时候没有加引号

where子句里面对索引存在数学计算

对索引列使用函数

索引列存在null

mysql估计全表扫描比使用索引的时间短,比如数据极少的表

什么情况下不推荐索引

数据唯一性差

频繁更新的字段

字段不在where语句出现

其他

覆盖索引

innodb myisam

优化 in or 查询

in or 的散列值替换成

1
2
3
4
(select)
union all
(select)
order...

in or 的子查询 如果子查询很大用 exist

1
2
3
select
where not exists
()

相关

索引相关 http://m.blog.csdn.net/kaka1121/article/details/53395628

mysql优化 http://www.cnblogs.com/hongfei/archive/2012/10/19/2731342.html

重新开博客啦

目录分类

基础

uml设计 uml

java基础 java_base

数据库基础 database

算法基础 algorithm

网络基础 network

大数据设计 big_data

ai与机器学习 ai

应用

交易系统设计 system_trade

支付系统设计 system_pay

运维 ops

测试 test

其他 ext

架构

架构 structure

java框架 java_framework

学习资源

pre_learn_resource

计划

年终总结 summarize

计划 plan

如何使用ab测试工具进行压力测试

ubuntu下安装工具

sudo apt-get install apache2-utils

如何执行命令

1
2
# -t 发完所有请求预计消耗的时间; -n 预计的请求总数; -c 并发级别. 提高并发级别会增加同一时间的请求个数, 具体请求量的计算方式待确定
ab -t seconds -n counts -c concurencylever url

url

结果详解

命令详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Concurrency Level:      135 # 同时的请求数
Time taken for tests: 1.254 seconds
Complete requests: 1350
Failed requests: 0
Total transferred: 1305450 bytes
HTML transferred: 874800 bytes
Requests per second: 1076.71 [#/sec] (mean) # 每秒完成请求数, 吞吐率
Time per request: 125.382 [ms] (mean) # 总时间 % 总请求数 * 并发级别
Time per request: 0.929 [ms] (mean, across all concurrent requests) # 总时间 % 总请求数
Transfer rate: 1016.77 [Kbytes/sec] received

Percentage of the requests served within a certain time (ms) # 单个请求耗时占比
50% 134
66% 140
75% 144
80% 145
90% 157
95% 200
98% 203
99% 204
100% 281 (longest request)


java读写大的excel文件

众所周知, java在读写大的excel文件时, 容易消耗大量内存, 造成堆内存溢出. 有以下两种方式可以解决.

  • 使用csv格式代替excel, java直接操作文本文件

  • 读写使用专门定制的流式读写库

2017产品经理作战计划

step 1

时间

07.01 ~ 07.10 一周准备, 10号前出具体的排期表`
07.10 ~ 07.21 两周

do:

培训教程
read
axure

result:

每天的听课总结
每天的阅读总结
每天axure产出

第一阶段收尾:

梳理出产品经理的知识体系 梳理一下单个产品在发展中的各个阶段需要做的事情

step 2

,时间

一周 1
07.24 ~ 07.28

do:

对市场上每个行业的No1 产品做 个阶段梳理分析

result:

产品经理的专业产出文档

  • 写简历并- 投递 07.29

step3

do:

设计新的产品

result:

产品经理的专业产出文档

所有的产出都一律发布在独立博客里面

8月底 拿到产品经理助理的工作机会 8K

java找工作期间遇到的面试题

总结201706

主要是技术基础, 经验, 能力. 自信源于对自身的认知. 技术基础如下:

java基础: jvm, 运行时数据区, 类加载, 堆与gc, 多线程, nio, oo与设计模, 库和框架;

架构;

数据库;

数据结构与算法

美团

京东

ys

  • 针对index 使用 in 或者 or,或者其他的问题 或者 exist
  • 数据库隔离级别的细节
  • 数据库修改权限
  • 索引的数据结构
  • 数据库的索引优化原理
  • 类语句的执行时机
    - 树的遍历
  • 快速排序

老虎

  • 建议:

更多更严谨地追求技术细节

掌握标准的术语

  • 经验:
    基础算法的学习

基础数据结构的学习

不会的要坚持,不会的可以沟通

  • jvm的结构

  • 类加载器

  • 后缀树算法

  • maxwait的原因

  • redis的线程模型

  • netty的线程模型

  • synchronized锁的对象放在哪里

  • 常用的工厂模式

  • 数据库与数据库引擎

小米

  • 字符串的分割逆序问题, 给一个字符串 aaa–bb-ccc, 转变成 ccc-bb-aaa
  • 数组里面求和等于多少的问题
  • 时间复杂度的问题

盈米

  • 数组内求和
  • arraylist的各种操作的时间复杂度
  • 更优化的代码管理,发布包管理,部署管理

糖猫

  • 自顶向下的思路
  • 要用指针的思路去思考问题
  • 无序数组取交集 树及其他
  • 有序数组取交集
  • 数字转字符串
  • 怎么生成一个唯一的id
  • 怎么生成一个分布式的id 支持唯一性 严格的时序一致性 可吞吐性
  • 二叉平衡树

京东

  • java安全Api的使用
  • 多线程这块的细节和熟练 以及思考
  • 非对称加密的理解和实践
  • Https和 http
  • 编解码问题?使用单字节编码:约定编码解码//使用单字节解码,再转成对应的编码,这样数据就不会丢失
  • 子类和父类的范围 异常 返回值 修饰符
  • 范型擦除 范型赋值
  • 谈一谈对泛型的理解

康辉旅行

去哪儿

  • map
  • 跨线程捕获异常
  • 线程池
  • 复合索引的生效问题 abc ,a and c, 这个时候 a 是否生效
  • 大文件查找

杏树林

  • 尽量先直接回答问题,再从侧面分析
  • simpledateformat 为什么线程不安全
  • concurrency hashmap 设计
  • biginteger 怎么做到线程安全的
  • redis底层原理

美团

  • java 数据库 数据结构和算法
  • jvm细节
  • volatile关键字的编译器处理
  • gc算法
  • 说一下java里面的线程池
  • 说一下java里面创建线程的两种方法
  • 数据库的事务特性
  • 数据库的索引结构
  • 从串中找子串
  • cas

别人整理的java面试要点