Browse Source

CockroachDB: use unordered_unique_rowid for primary keys

sequential values in a primary key does not perform as well

Signed-off-by: Nicola Murino <[email protected]>
Nicola Murino 2 years ago
parent
commit
957d3a7b4d
1 changed files with 4 additions and 3 deletions
  1. 4 3
      internal/dataprovider/pgsql.go

+ 4 - 3
internal/dataprovider/pgsql.go

@@ -786,10 +786,11 @@ func (p *PGSQLProvider) initializeDatabase() error {
 	logger.InfoToConsole("creating initial database schema, version 28")
 	providerLog(logger.LevelInfo, "creating initial database schema, version 28")
 	var initialSQL string
-	if config.Driver == PGSQLDataProviderName {
-		initialSQL = sqlReplaceAll(pgsqlInitial + ipListsLikeIndex)
-	} else {
+	if config.Driver == CockroachDataProviderName {
 		initialSQL = sqlReplaceAll(pgsqlInitial)
+		initialSQL = strings.ReplaceAll(initialSQL, "GENERATED ALWAYS AS IDENTITY", "DEFAULT unordered_unique_rowid()")
+	} else {
+		initialSQL = sqlReplaceAll(pgsqlInitial + ipListsLikeIndex)
 	}
 
 	return sqlCommonExecSQLAndUpdateDBVersion(p.dbHandle, []string{initialSQL}, 28, true)