Linux下彻底卸载mysql详解,msql( 二 )


(PostgreSQL可解决)PostgreSQL数据不存在这个问题,假设表T的两个字段col1的col2上有两个索引,idx_1和idx_2,那么select * from t where col1=:a and col2=:b;查询时,PostgreSQL数据库有可能把这个查询转化为select * from t where col1=:a intersect select * from t where col2=:b,这样两个索引都可以使用上 。
22、不支持位图索引(bitmap index) 。每种存储引擎都支持不同类型的索引 。大部分存储引擎都支持B-Tree索引 。23、 管理工具较少,功能也不够成熟 。24、没有成熟能够令人满意的IDE工具与调试程序 。可能不得不在文本编辑器中编写存储过程,并且通过往表(调试日志表)中插入记录的方式来做调试 。25、 每个表都可以使用一种不同的存储引擎 。
(PostgreSQL可解决)26、 每个存储引擎在行为表现、特性以及功能上都可能有很大差异 。(PostgreSQL可解决)27、大部分存储引擎都不支持外键 。(PostgreSQL可解决)28、默认的存储引擎(MyISAM)不支持事务,并且很容易损坏 。(PostgreSQL可解决)29、最先进最流行的存储引擎InnoDB由Oracle拥有 。
(PostgreSQL可解决)30、有些执行计划只支持特定的存储引擎 。特定类型的Count查询,在这种存储引擎中执行很快,在另外一种存储引擎中可能会很慢 。(PostgreSQL可解决)PostgreSQL只有一种存储引擎,所以不存在上面的情况 。而PostgreSQL支持完善的事务 。31、执行计划并不是全局共享的,,仅仅在连接内部是共享的 。
32、全文搜索功能有限, 只适用于非事务性存储引擎 。Ditto用于地理信息系统/空间类型和查询 。(PostgreSQL可解决)PostgreSQL数据库支持全文搜索,支持更多类型的索引,如B-tree,R-tree, Hash, GiST, GIN,R-tree,GIST,GIN索引可用于空间类型和查询 。
33、没有资源控制 。一个完全未经授权的用户可以毫不费力地耗尽服务器的所有内存并使其崩溃,或者可以耗尽所有CPU资源 。34、没有集成商业智能(business intelligence), OLAP **数据集等软件包 。35、 没有与Grid Control类似的工具36、 没有类似于RAC的功能 。如果你问”如何使用Mysql来构造RAC”,只能说你问错了问题 。
【Linux下彻底卸载mysql详解,msql】37、不支持用户自定义类型或域(domain) 。(PostgreSQL可解决)PostgreSQL支持丰富的类型,同时也支持自定义类型 。38、 每个查询支持的连接的数量最大为61 。39、MySQL支持的SQL语法(ANSI SQL标准)的很小一部分 。不支持递归查询、通用表表达式(Oracle的with 语句)或者窗口函数(分析函数) 。
支持部分类似于Merge或者类似特性的SQL语法扩展,不过相对于Oracle来讲功能非常简单 。(PostgreSQL可解决)这些PostgreSQL数据库都支持,如窗口函数 。40、不支持功能列(基于计算或者表达式的列,Oracle11g 开始支持计算列,以及早期版本就支持虚列(rownum,rowid)) 。
41、不支持函数索引,只能创建基于具体列的索引 。(PostgreSQL可解决)PostgreSQL支持函数索引 。42、不支持物化视图 。43、不同的存储引擎之间,统计信息差别很大,并且所有的存储引擎支持的统计信息都只支持简单的基数(cardinality)与一定范围内的记录数(rows-in-a-range) 。
换句话说,数据分布统计信息是有限的 。更新统计信息的机制也不多 。44、没有内置的负载均衡与故障切换机制 。45、 复制(Replication)功能是异步的,并且有很大的局限性 。例如,它是单线程的(single-threaded),因此一个处理能力更强的Slave的恢复速度也很难跟上处理能力相对较慢的Master 。
46、 Cluster并不如想象的那么完美 。或许我已经提过这一点,但是这一点值得再说一遍 。47、数据字典(INFORMATION_SCHEMA)功能很有限,并且访问速度很慢(在繁忙的系统上还很容易发生崩溃) 。48、不支持在线的Alter Table操作 。49、 不支持Sequence 。(PostgreSQL可解决)PostgreSQL支持sequence 。

推荐阅读