期待你的分享

0%

JOIN

三种算法:

  • Nested Loop Join:常用
  • Hash Join
  • Merge Sort Join

类型:

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

查询优化

left join 优化:引擎使用nested loop join算法,通过驱动表的结果集作为循环基础数据,一条条地通过该结果集作为过滤条件到下一个表中查询数据,然后合并结果。left join左边的表一般为大表,所以以其为驱动表时查询效率会很低,方案是使用join,引擎一般会选择小表作为驱动表来查询。

索引

三星:将相关的记录放在一起,索引的数据顺序与查询的排列顺序一致,索引中的列包含了查询中需要的全部列

全文索引,哈希索引

聚簇索引

叶子结点存储的是整行数据,且InnoDB只支持用主键做聚簇索引,非主键的索引的叶子结点的值是主键的值

Innodb_autoinc_lock_mode

覆盖索引

主从复制

bin_log

master IO线程,slave IO线程,SQL线程

image-20190903122054120

日志

redo log:保证crash safe能力,InnoDB提供

binlog:MySQL Server层提供的归档日志

两阶段提交保证数据恢复

常用SQL

1
2
3
4
# 创建用户
create user 'cattle'@'127.0.0.1' identified by '';
# 授权
grant all privileges on cattle.* to 'cattle'@'127.0.0.1';

汉字正则:[\u4e00-\u9fa5]

数字正则:[0-9]

英文字母:[a-zA-Z]

匹配包含汉字的正则:.*[\u4e00-\u9fa5]+.*

以数字开头:^\d+.*

阅读全文 »

(<深入分析Java Web技术内幕>笔记)
java语言在宣传时打出的名号就是”一次编译,到处运行”, 也就是支持跨平台运行,其实这是java文件编译成class文件来实现的,那么class文件是怎么生成的?clss文件又有哪些内容?本篇笔记就是记录相关的学习内容的.

(历史文章归档)

阅读全文 »

  • 定义

    观察者模式定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖着都会收到通知并自动更新.

    阅读全文 »

AbstractOwnableSynchronizer

AbstractQueuedLongSynchronizer

AbstractQueuedSynchronizer

Condition

Lock

LockSupport

ReadWriteLock

ReentrantLock

ReentrantReadWriteLock

StampedLock

AbstractExecutorService

ArrayBlockingQueue

BlockingDeque

BlockingQueue

BrokenBarrierException

Callable

CancellationException

CompletableFuture

CompletionException

CompletionService

CompletionStage

ConcurrentHashMap

ConcurrentLinkedDeque

ConcurrentLinkedQueue

ConcurrentMap

ConcurrentNavigableMap

ConcurrentSkipListMap

ConcurrentSkipListSet

CopyOnWriteArrayList

CopyOnWriteArraySet

CountDownLatch

CountedCompleter

CyclicBarrier

Delayed

DelayQueue

Exchanger

ExecutionException

Executor

ExecutorCompletionService

Executors

ExecutorService

ForkJoinPool

ForkJoinTask

ForkJoinWorkerThread

Future

FutureTask

LinkedBlockingDeque

LinkedBlockingQueue

LinkedTransferQueue

Phaser

PriorityBlockingQueue

RecursiveAction

RecursiveTask

RejectedExecutionException

RejectedExecutionHandler

RunnableFuture

RunnableScheduledFuture

ScheduledExecutorService

ScheduledFuture

ScheduledThreadPoolExecutor

Semaphore

SynchronousQueue

ThreadFactory

ThreadLocalRandom

ThreadPoolExecutor

TimeoutException

TimeUnit

TransferQueue

JMM

java内存模型试图屏蔽不同硬件与操作系统的内存访问差异,以实现java在不同平台都能达到一致的内存访问效果(跨平台)

阅读全文 »