Hi again,

> There are no indexes in may tables. Please find the following schemas for
> my
> tables. Would it make more sense to convert my datetime columns to
> microtime?. What other recommendations would you make for these tables?
> CREATE TABLE users (
>   user_id INTEGER PRIMARY KEY,
>   extn_no varchar(16) default NULL,
>   username varchar(255) default NULL,
>   password varchar(255) default NULL,
>   admin NOT NULL default 'No',
>   depthead NOT NULL default 'No',
>   user NOT NULL default 'Yes',
>   firstname varchar(255) default NULL,
>   surname varchar(255) default NULL,
>   job_title varchar(255) default NULL,
>   user_email varchar(255) default NULL,
>   deleted NOT NULL default 'No'
> );
>
> CREATE TABLE call_data (
>   call_id INTEGER PRIMARY KEY,
>   direction NOT NULL default 'Out',
>   group_no varchar(16) default NULL,
>   start_no varchar(16) default NULL,
>   extn_no varchar(16) NOT NULL default '',
>   trunk_no varchar(16) NOT NULL default '',
>   trans NOT NULL default 'No',
>   ddi varchar(16) default NULL,
>   dest varchar(32) NOT NULL default '',
>   dest_name varchar(255) default NULL,
>   duration varchar(8) NOT NULL default '',
>   ring_time varchar(5) default NULL,
>   call_time datetime default NULL,
>   cost decimal(10,2) default NULL,
>   band varchar(10) default NULL,
>   site_id varchar(10) default NULL
> );

You could change the columns that seem to be boolean values to INTEGER and
store "0" and "1" instead of "Yes" and "No".  Because of the way SQlite 2
stores these things (namely as strings), this will most likely save you
some space.

Ulrik
-- 
Ulrik Petersen, Denmark
Homepage: <http://www.hum.aau.dk/~ulrikp/>


Reply via email to