X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=bacula%2Fsrc%2Fcats%2Fmake_mysql_tables.in;h=71b4fff695213a36a76e9a6c210b47ee8a86948d;hb=c9657772721a3782558c4eb8b99978c7873b45fd;hp=e92952bdcd53293e598d2f47aee19b862f34d447;hpb=9e9a7171fe27ae6a8c2c39d1bef901347766859e;p=bacula%2Fbacula diff --git a/bacula/src/cats/make_mysql_tables.in b/bacula/src/cats/make_mysql_tables.in index e92952bdcd..71b4fff695 100644 --- a/bacula/src/cats/make_mysql_tables.in +++ b/bacula/src/cats/make_mysql_tables.in @@ -2,6 +2,10 @@ # # shell script to create Bacula MySQL tables # +# Important note: +# You won't get any support for performance issue if you changed the default +# schema. + bindir=@SQL_BINDIR@ PATH="$bindir:$PATH" db_name=${db_name:-@db_name@} @@ -28,6 +32,17 @@ CREATE TABLE Path ( INDEX (Path(255)) ); +-- We strongly recommend to avoid the temptation to add new indexes. +-- In general, these will cause very significant performance +-- problems in other areas. A better approch is to carefully check +-- that all your memory configuation parameters are +-- suitable for the size of your installation. If you backup +-- millions of files, you need to adapt the database memory +-- configuration parameters concerning sorting, joining and global +-- memory. By default, sort and join parameters are very small +-- (sometimes 8Kb), and having sufficient memory specified by those +-- parameters is extremely important to run fast. + -- In File table -- FileIndex can be 0 for FT_DELETED files -- FileNameId can link to Filename.Name='' for directories @@ -47,15 +62,16 @@ CREATE TABLE File ( CREATE TABLE RestoreObject ( RestoreObjectId INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, - Fname BLOB NOT NULL, - Path BLOB NOT NULL, - RestoreObject BLOB NOT NULL, + ObjectName BLOB NOT NULL, + RestoreObject LONGBLOB NOT NULL, PluginName TINYBLOB NOT NULL, ObjectLength INTEGER DEFAULT 0, + ObjectFullLength INTEGER DEFAULT 0, ObjectIndex INTEGER DEFAULT 0, ObjectType INTEGER DEFAULT 0, FileIndex INTEGER UNSIGNED DEFAULT 0, JobId INTEGER UNSIGNED NOT NULL REFERENCES Job, + ObjectCompression INTEGER DEFAULT 0, PRIMARY KEY(RestoreObjectId), INDEX (JobId) ); @@ -64,7 +80,7 @@ CREATE TABLE RestoreObject ( # # Possibly add one or more of the following indexes # to the above File table if your Verifies are -# too slow. +# too slow, but they can slow down backups. # # INDEX (PathId), # INDEX (FilenameId), @@ -165,6 +181,7 @@ CREATE TABLE JobHisto ( HasCache TINYINT DEFAULT 0, Reviewed TINYINT DEFAULT 0, Comment BLOB, + INDEX (JobId), INDEX (StartTime) ); @@ -338,8 +355,8 @@ CREATE TABLE UnsavedFiles ( CREATE TABLE Counters ( Counter TINYBLOB NOT NULL, - MinValue INTEGER DEFAULT 0, - MaxValue INTEGER DEFAULT 0, + 'MinValue' INTEGER DEFAULT 0, + 'MaxValue' INTEGER DEFAULT 0, CurrentValue INTEGER DEFAULT 0, WrapCounter TINYBLOB NOT NULL, PRIMARY KEY (Counter(128)) @@ -407,7 +424,7 @@ CREATE TABLE Version ( ); -- Initialize Version -INSERT INTO Version (VersionId) VALUES (12); +INSERT INTO Version (VersionId) VALUES (@BDB_VERSION@); END-OF-DATA then