
数据库
程序猿式Chinoiserie
From now on,I will expect nothing and just take what I get.
展开
-
数据库事务(一)
数据库事务(1)数据并发的问题 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。下面,我们分别通过实例讲解转载 2017-03-19 20:51:08 · 247 阅读 · 0 评论 -
数据库事务(二)
数据库事务(二)数据并发的问题 一个数据库可能拥有多个访问客户端,这些客户端都可以并发方式访问数据库。数据库中的相同数据可能同时被多个事务访问,如果没有采取必要的隔离措施,就会导致各种并发问题,破坏数据的完整性。这些问题可以归结为5类,包括3类数据读问题(脏读、幻象读和不可重复读)以及2类数据更新问题(第一类丢失更新和第二类丢失更新)。下面,我们分别通过实例讲解引发问题的场景。转载 2017-03-20 12:57:09 · 257 阅读 · 0 评论 -
数据库事务(三)
事务隔离级别 尽管数据库为用户提供了锁的DML操作方式,但直接使用锁管理是非常麻烦的,因此数据库为用户提供了自动锁机制。只要用户指定会话的事务隔离级别,数据库就会分析事务中的SQL语句,然后自动为事务操作的数据资源添加上适合的锁。此外数据库还会维护这些锁,当一个资源上的锁数目太多时,自动进行锁升级以提高系统的运行性能,而这一过程对用户来说完全是透明的。 ANSI/ISO S转载 2017-03-20 12:58:36 · 317 阅读 · 0 评论 -
php框架学习CI(CodeIgniter)的经验分享
CodeIgniter是什么?CodeIgniter是一个应用程序框架,是一个为用PHP编写网络应用程序提供的工具包CodeIgniter使用严格的M-V-C模型,这样可以更好地使表现层和逻辑层分离。CodeIgniter生成干净的URL CodeIgniter URL 在默认情况下,CodeIgniter中的URL被设计成对搜索引擎和人类友好,不同于使原创 2017-04-13 21:34:58 · 649 阅读 · 0 评论 -
mysqli连接mysql数据库的常用方法(面向对象和面向过程)
相信开始学习PHP的伙伴们用的都是php4,或者php5,在这些版本中都有一个连接数据库的函数mysql_connect(),但在使用php5.5及5.5以上版本时,你会发现使用mysql_connect()会直接报错,这是因为php5.5以后的版本考虑到未来的可移植性和安全性,性能而废弃了mysql_connect()函数,所以我们只能使用mysqli_connect()和PDO,这里我说一下m原创 2017-05-01 20:21:08 · 4927 阅读 · 1 评论 -
CI框架之连接数据库
1.修改数据库的配置 CodeIgniter中,数据库的配置文件是“database.php”,位于“ci/application/config”中,打开该文件,默认的配置信息是: $db['default']如下是他的配置相关信息:在“database.php”中,还有一个配置项:$acti原创 2017-05-18 18:28:03 · 2697 阅读 · 0 评论 -
SQL注入漏洞与防范
SQL注入的原理:在原有SQL语句上附加一段SQL代码,构造特殊的SQL语句,利用程序自身的权限实现所需要的操作。假如现在有一张user表:uidusername pwd1admin admin2222custome 123456现在执行一个登录操作: $conn=mysqli_connect("localhost","root",原创 2018-01-31 15:14:49 · 403 阅读 · 0 评论 -
数据库锁的类型有三种???共享锁、排它锁、更新锁
共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。 排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。 更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结束时才能被释放。 详细解...转载 2018-05-12 12:50:50 · 8391 阅读 · 0 评论 -
mysql分表的3种方法
mysql分表的3种方法 一,先说一下为什么要分表复制代码 当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。根据个人经验,mysql执行一个sql的过程如下: 1,接收到sql;2,把sql放到排队队列中 ;3,执行sql;4,返回执行结果。 在这个执行过程中最花时间在什么...转载 2018-05-29 13:52:05 · 421 阅读 · 0 评论