Issue Details (XML | Word | Printable)

Key: CORE-688
Type: New Feature New Feature
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Pavel Cisar
Votes: 7
Watchers: 7
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Tablespaces

Created: 17/Sep/03 12:00 AM   Updated: 29/Oct/09 07:34 PM
Component/s: Engine
Affects Version/s: None
Fix Version/s: None

SF_ID: 807945


 Description  « Hide
SFID: 807945#
Submitted By: pcisar

The ability to define/control the location of
data/user tables within a multi-file database.
----------------------
User: awharrison
Logged In: YES
user_id=66088

this is pretty much an "over my dead body" issue. Much
of the
design of InterBase focused on eliminating the need for
table
spaces and other placement. It works well and makes
managing
the database possible without an advanced degree in
Firebird
----------------------
User: nobody
Logged In: NO

I'm not sure but I think this would be usefull if you
could
define diferent files (tablespaces) for tables and indexes
(as it is a good pratice on Oracle).

ex:

1 file containing all objects and a 2nd file containing
all
indexes.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Cosmin Apreutesei added a comment - 05/Oct/08 01:01 PM
I'd love to have the possibility to put some tables and indexes on a ramdrive device, others on a flash device and others on a hard disk, or I could use a compressed device for some big "archive" tables that I'd fill-up with a trigger.


JJ Mondoloni added a comment - 30/Dec/08 04:51 PM
Hi,

I think that separate datas and index on different files and disks will be an best improvment.

By example, i have a big database (approx 18 go) with a big problem (page size 8192).
I can't store more than 55 millions of lines in Table A because my index have more than 3 level leaf

CREATE TABLE TB_URLS_HISTO (
    URL_CRC INTEGER NOT NULL DEFAULT 0,
    URC_CRC INTEGER NOT NULL DEFAULT 0,
    ID_SOURCE INTEGER NOT NULL,
    R159_RPLID INTEGER NOT NULL);

/* Primary keys definition */

ALTER TABLE TB_URLS_HISTO ADD CONSTRAINT PK_TB_URLS_HISTO PRIMARY KEY (ID_SOURCE, URL_CRC);

/* Indices definition */

CREATE UNIQUE INDEX IDX_TB_URLS_HISTO_URC_CRC ON TB_URLS_HISTO (URC_CRC, R159_RPLID);
CREATE UNIQUE INDEX IDX_TB_URLS_HISTO_URL_CRC ON TB_URLS_HISTO (URL_CRC, R159_RPLID);
CREATE UNIQUE INDEX R159_RPLID ON TB_URLS_HISTO (R159_RPLID);

SET TERM ^ ;

Where URC_CRC and Id_SOURCE can be repeated and URL_CRC unique at 98%

Solution is easy, increase my page size.. but i have many table with hundred of thousand blobs

without increase my page size, i had some table with blobs filled at 2% (more modifications Insert / update / delete..)