- 博客(13)
- 收藏
- 关注
原创 MySQL数据库索引类型以及创建
相关概念优点:提高数据库从表中检索数据的速度。 索引检索速度快的原因:由于数据存储在数据表中所以索引是创建在数据表对象上的,由表中一个或者多个键组成了索引,这些键存储在数据结构(b-tree或者hash表)中所以能快速查找与键值相关联的字段。 innode和myisam存储引擎支持b-tree索引,memory存储引擎支持hash索引。索引分类以及创建普通索引:创建三种方式: 1,创建表时
2017-08-20 16:07:53 324
原创 MySQL索引以及优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则
2017-08-15 11:32:11 166
原创 线程通信几个关键字说明(wait()/notify()/sleep()/notifyAll())
wait():wait是object类的方法,该方法将当前线程置于”预执行队列”,并且在wait所处的代码处停止执行,直到接到通知后或被中断为止 注意:调用wait前,线程必须获得该对象的对象级别锁,就是只能在同步方法或者同步块中调用wait方法,在执行wait方法后,当前线程释放锁,在wait返回前,线程与其他线程竞争获得锁,如果调用wait时没有持有锁则抛出异常:没有获得监听器,它是runti
2017-08-14 17:08:51 526
原创 同步synchronized 无限期等待导致死锁
主线程:public class DeadsynMain1 { public static void main(String[] args) { Service ser=new Service(); threadA tA=new threadA(ser); tA.start(); threadB tB=new threadB(s
2017-08-14 11:01:06 686
原创 重入锁概念
public class KechongruSyn {public static void main(String[] args) { myThread t=new myThread(); t.start(); }}class service{ synchronized public void service1(){ System.out.prin
2017-08-13 19:14:51 346
原创 线程安全和非线程安全的理解
线程安全和非线程安全实例: 线程安全代码实例: public class ThreadSafe { public static void main(String[] args) { HasSelf numself=new HasSelf(); threadA aThreadA=new threadA(numself); aThreadA.start();
2017-08-13 17:16:40 1274
原创 synchronized和sleep的用法(1)
synchronized和sleep的用法(1)概述:我们都知道synchronized用做同步使之线程安全,然而 synchronized并不总是线程同步代码实例:`package ThreadPackage;public class ThreadSafe { public static void main(String[] args) { HasSelf numself=
2017-08-13 17:00:24 1279 2
原创 java多线程基础知识
1,多线程的实现方式:继承Thread和实现Runnable接口 区别:多继承时使用runnable接口,因为java只支持单继承 2.非线程安全和线程安全: 非线程安全:多个线程对同一变量进行修改时,会出现值被更改,值不同步的情况,进而影响程序的执行交流 线程安全:在单线程执行和多线程执行,结果是一样的。 关键字:synchronized可以使线程安全, 用法:synchronized
2017-08-13 13:13:56 266
原创 Java多线之同步与异步
异步:start()方法通知“线程调度器”,此线程已经准备就绪,等待CPU分派资源调用run方法,使线程得到执行启动线程,访问资源时在空闲等待时同时访问其他资源,实现多线程机制同步,此线程对象不交给“线程调度器”,直接由主线程调用run方法,是多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低特别说明:执行start方法顺序并不是线程启动顺序
2017-08-13 12:23:48 223
原创 Java多线程优先级
java多线程优先级使用setPriority方法三个特性:继承性,规则性和随机性源码: public final void setPriority(int newPriority) { ThreadGroup g; checkAccess(); if (newPriority > MAX_PRIORITY || newPriority
2017-08-13 10:34:21 104
原创 mysql触发器用法
介绍触发器:mysql响应一下任意一条语句而自动执行的一条MySQL语句比如:增改插,insert,update,select用处:1,比如每当一个顾客进入数据表时,都要检查电话号码格式是否正确,email是否正确。2,每当订购一个产品都要从库存中减去订购的数量。3,无论何时删除一行都要保留存档一个副本。这几个例子共同之处在于每个表发生更改时都要自动触发某个事件。下面举个例
2017-08-12 18:32:52 240
原创 报错 Not allowed to return a result set from a trigger
相信很多朋友会出现这种报错,在mysql出现Not allowed to return a result set from a trigger这一般是触发器创建错误,因为你的触发器没有使用,所以出现这种报错
2017-08-12 17:57:01 6998 3
原创 MYSQL数据库 Can't find FULLTEXT index matching the column list
匹配不成功,如果用全文搜索sql="select name from table1 where Match(name) Against('放下')";这样是匹配不成功的,特别是中文!!!所以最好使用like关键字最好
2017-08-11 22:42:57 6421
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人