为什么二级封锁协议不能保证可重复读,一级封锁协议不能保证可重复读和读脏数据 2023-05-30 718 排它锁又叫写锁,事务A对数据D加了排它锁,其它任何事务都不能再对数据D加共享锁或者排它锁。也就是说A可以读取或者修改D,但是其它事务不能读也不能写。 一、为什么二级封锁协议不能保证可重复读 排它锁又叫 …
SQL开启事务处理的语句 START TRANSACTION 和BEGIN TRAN的区别 2023-05-30 822 在MySQL里,START TRANSACTION和BEGIN是等价的。Start TRANSACTION:开启事务。BEGIN TRANSACTION:开启事务,标识一个事务的开始。查阅资料显示,它 …
Python的pymysql、mysql、mysqlx库都有什么区别 2023-05-30 758 Python的pymysql、mysql、mysqlx库连接数据库所使用的引擎不一样,简单操作都没什么影响的。如果一定要用mysql。较好用pymysql。纯python的,麻烦少一点。较好使用sql …
SQL里同样字符串字段,内容是全中文或者全字母或者全数字,查询速度会有区别吗 2023-05-30 743 基本没区别,计算机底层对不同数据类型的分解不一样,但效率上来说不会有太大的差别。并且,如果是为了提升查询效率,建议利用索引来实现。而在索引方面,中文和数字在查询速度上的区别会更加小,基本可以忽略。 一 …
Ecoinvent数据库中,Cut-off、Conseq和APOS三种类型的数据使用区别在哪儿 2023-05-30 980 跟系统边界/分配方法有关,之前看到过有人推荐使用cut-off就可以了。分配,按分类分列:该系统模型根据物理属性、经济属性、质量属性或其它属性,按分配对多产品活动进行细分。 一、Ecoinvent数据 …
Lucene/ ElasticSearch这类的搜索引擎和SQL数据库里的查询/全文检索有什么区别 2023-05-30 671 es也可以理解成是一种数据库,不仅能提供全文检索功能,还可以支持各种数值类的区间查询,聚合计算等,这些和传统数据库一样,从使用场景来说,数据库一般用来存meta,比如网站用户,用户资源等等。 一、Lu …
ORACLE里面LOBINDEX,LOBSEGMENT类型的是什么对象 2023-05-30 730 建立含有lob字段的表时,oracle会自动为lob字段建立两个单独的segment,一个用来存放数据,另一个用来存放索引,并且它们都会存储在对应表指定的表空间中。但是当用alter table tb …
postgre的bpchar字段类型相当于MySQL的什么类型 2023-05-30 1042 bpchar 是一个字符串类型。相当于mySQL中的char类型。他是一个指定长度的字符串;例如:指定了20个长度,你存储了‘123’,长度也是20;查询速度的话,定长字符串如果存储合适(也就是他的长 …
除了cx_Oracle,python还可以通过什么方式访问Oracle数据库 2023-05-30 646 理论上,用其他任何方式(库、语言)访问Oracle的方式,你都可以用于Python中,这个神器叫做SWIG(http://www.swig.org/),它提供了C++/Java/Python等诸多语言 …
oracle为什么不提供CREATE TABLE IF NOT EXIST方式创建表 2023-05-30 686 因为系统设定语法就这样,后面只能先跟文件名,然后再跟条件。但写脚本时可以每次先drop ,再create。 写个块判断也行。使用了oracle的保留字size和rows,不能用来作为列名,把他改成别的 …
为什么MySQL在innodb引擎中即使使用了MVCC机制仍然会出现丢失更新 2023-05-30 709 mvcc在innodb中只负责解决读写冲突,把普通select语句变成快照读。写冲突仍然是靠锁来解决的。因此要解决你说的丢失更新,要用select…for update主动加x锁。当然mvcc不是说完 …
为什么mysql having的条件表达式可以直接使用select后的别名 2023-05-30 659 SQL语句的语法顺序: FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> UNION -&g …