Cassandra的简单理解
主键:主键也作为分区键,有两种类型的主键 单个主键:单个主键由以下语法指定。语法: 1主键(ColumnName) 在单个主键中,只有一个列。该列也称为分区键。数据根据该列进行分区。数据根据分区键分布在不同的节点上。 复合主键:复合分区键由以下语法指定。语法: 1主键((ColumnName1,ColumnName2),ColumnName3 ...)) 在上面的语法中,ColumnName1和ColumnName2是复合分区键。数据 ...
主键:主键也作为分区键,有两种类型的主键 单个主键:单个主键由以下语法指定。语法: 1主键(ColumnName) 在单个主键中,只有一个列。该列也称为分区键。数据根据该列进行分区。数据根据分区键分布在不同的节点上。 复合主键:复合分区键由以下语法指定。语法: 1主键((ColumnName1,ColumnName2),ColumnName3 ...)) 在上面的语法中,ColumnName1和ColumnName2是复合分区键。数据 ...
mysql 5.5之前 表插入字段的其实很奇妙,在表添加索引修改列等操作时,竟然会锁表,这样在大表中添加列或添加索引就是灾难级的了,直接堵塞了所有操作。那么解决这种方式要怎么做? 首先新建Temp table,表结构是 ALTAR TABLE 新定义的结构 然后把原表中数据导入到这个Temp table(最好是将原表加上读锁,别让数据进来,避免数据不一致;或者是在原表加一个触发器,让在导入过程中原表的写入操作也同步到新表中) 删除原表 ...
最近在做一个数据库迁移,把做了的东西mark以下。 发现不管是大数据量还是小数据量,其实流程大致遵循上面的流程其实就差不多了,只不过在大数据量下可能2和3要做一次脚本才行。 1. 锁表如果贵项目是允许数据错误的话其实锁不锁都可以,不过最好在迁移数据的时候加上个只读锁,防止数据错乱。(另外千万不要断开连接,如果断开连接则表锁自然释放)123456// 全局加只读锁(软件上的所有库表)FLUSH TABLES WITH READ LOCK ...
数据如图: 按照*方式查找 :SELECT count(*) FROM test 结果如下: 按照指定字段查询 :SELECT count(name) FROM test 结果如下: 是按照虚拟字段查询:SELECT count(1) FROM test 结果如下: 为什么会造成以上的差异呢?原因是: count(*)其实是按每个字段读一次,对比每个字段的count,最终得出最大值6 count(name)则是仅读name字段下的值 ...