欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

面试题目1

程序员文章站 2024-03-26 08:57:05
...

面试题目

1:JDK讲解

JDK:java development kit

JRE: java RunTime Environment

面试题目1

二进制 八进制 十六进制
0b 0 0x
0b10101010 01237 0x137ADF
float f = 0.1f;
double d = 0.1/10;
System.out.println(f==d);
输出:false

结论:float 有限、离散、舍入误差、大约、接近不等于

银行小数:Meth中的BigDecimal方法


float f = 0.1f;
double d = 1.0/10;
System.out.println(d==f);// 输出false

char c = '\u0061';// unicode编码
System.out.println(c);// 输出a
System.out.println((char) 65);// ASCII码 输出A

2、MySql索引讲解

索引是帮助MySql高效获取数据的 “排好序” 的数据结构

数据结构有:二叉树、红黑树、B-Tree、B+Tree,根据键值对去找值

select * from user where id = 7;

通过遍历数据库的表,找到该条数据的地址位置,慢查询(数据亿万时)?

如何解决

添加索引

二叉树:开始于根节点,左小右大

缺点:当数据库是递增的时候,就等于链表查询

改进二叉树

红黑树(平衡二叉树):右边节点不能大于左边2个阶层

缺点:数据量大时,树的高度太高

更进一步的升级二叉树

B-Tree

给根节点分配更多的地址空间,多个根节点(16k)

B+Tree(冗余索引)增加效率 >=左边 <右边

非叶子节点不存储data,只有最下层的叶子节点才有data(特点:更多的根节点)

一个索引 8+6=14b

16kb/14b = 1170个索引元素

3层= 1170x1170x16—>两千万条

最下层得到地址指针

Hash索引

最快的方法,通过一次hash运算的值变成指针,再将值存到另外一个表中

缺陷:不能进行范围查找!!!

hash运用:MD5、CRC16加密运算

索引存放的位置

存储引擎形容的是表,而不是Mysql

  • (B-Tree) mysiam引擎—>.frm后缀的是表结构 .MYD是表数据 .MYI是表索引

    面试题目1

  • (B+Tree)innodb引擎—>.frm后缀的是表结构 .idb的是表数据和索引

面试题目1

3、联合索引

MySql索引优化最佳方案???

联合索引底层结构长什么样?

例如:最左前缀原则

面试题目1

3、联合索引

MySql索引优化最佳方案???

联合索引底层结构长什么样?

例如:最左前缀原则

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q8tfmgV8-1596540491081)(C:\Users\海角天涯S\Desktop\狂神说java\面试题目\4.png)]

相关标签: 面试 mysql