From: Janusz Dobrowolski Date: Mon, 11 Jan 2010 11:55:56 +0000 (+0000) Subject: Optimized database indexes. X-Git-Tag: v2.4.2~19^2~1003 X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=commitdiff_plain;h=a66e1cff19e293615119a5cd352c0fe16b84e7c4;p=fa-stable.git Optimized database indexes. --- diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 8c55b45f..7f857820 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -19,8 +19,48 @@ Legend: ! -> Note $ -> Affected files -24-Dec-2009 Merged changes from main trunk 2.2.1-2.2.2 as follows +11-Jan-2010 Janusz Dobrowolski +! Optimized database indexes. +$ /sql/alter2.3.sql + /sql/en_US-demo.sql + /sql/en_US-new.sql +27-Dec-2009 Janusz Dobrowolski ++ Remote packages repository support for extensions and languages +$ /config.default.php + /frontaccounting.php + /admin/inst_lang.php + /admin/inst_module.php + /includes/access_levels.inc + /includes/ui/ui_lists.inc + /sql/alter2.3.php +# Small fix in handle_submit +$ /admin/create_coy.php +! Using var_dump function for storing variables in config files. +$ /admin/db/maintenance_db.inc ++ Added copy_file(), check_write() helper functions. +$ /includes/main.inc ++ Aded array_search_key() helper. +$ /includes/lang/gettext.php ++ Added helper for checking langauge support. +$ /includes/current_user.inc ++ Added helper for radio buttons. +$ /includes/ui/ui_input.inc +! Extension links support moved to application class. +$ /applications/application.php + /applications/customers.php + /applications/dimensions.php + /applications/generalledger.php + /applications/inventory.php + /applications/manufacturing.php + /applications/setup.php + /applications/suppliers.php + /includes/archive.inc (new) + /includes/packages.inc (new) ++ Support for popup buttons +$ /js/inserts.js + +24-Dec-2009 Merged changes from main trunk 2.2.1-2.2.2 as follows ! Release 2.2.2 $ /update.html ! Changed so Printed Sales Order (Quotation) shows TOTAL VAT INCL. if it is. diff --git a/sql/alter2.3.sql b/sql/alter2.3.sql index c1533798..17984dd1 100644 --- a/sql/alter2.3.sql +++ b/sql/alter2.3.sql @@ -1,2 +1,39 @@ -ALTER TABLE 0_comments ADD KEY type_and_id (`type`, `id`); +ALTER TABLE 0_comments ADD KEY `type_and_id` (`type`, `id`); ALTER TABLE 0_quick_entries ADD COLUMN `bal_type` TINYINT(1) NOT NULL default '0'; + +# Key optimizations +ALTER TABLE 0_fiscal_year ADD UNIQUE KEY(`begin`), ADD UNIQUE KEY(`end`); +ALTER TABLE 0_useronline ADD KEY(`ip`); +ALTER TABLE 0_dimensions ADD KEY(`date_`), ADD KEY(`due_date`), ADD KEY(`type_`); +ALTER TABLE 0_gl_trans ADD KEY (`dimension_id`), ADD KEY (`dimension2_id`), ADD KEY (`tran_date`), ADD KEY `account_and_tran_date` (`account`, `tran_date`); +ALTER TABLE 0_chart_master DROP KEY `account_code`; +ALTER TABLE 0_chart_types ADD KEY(`class_id`); +ALTER TABLE 0_bank_accounts ADD KEY (`account_code`); +ALTER TABLE 0_bank_trans ADD KEY (`bank_act`,`reconciled`), ADD KEY (`bank_act`,`trans_date`); +ALTER TABLE 0_budget_trans ADD KEY `Account` (`account`, `tran_date`, `dimension_id`, `dimension2_id`); +ALTER TABLE 0_trans_tax_details ADD KEY `Type_and_Number` (`trans_type`,`trans_no`), ADD KEY (`tran_date`); +ALTER TABLE 0_audit_trail DROP KEY `fiscal_year`, ADD KEY `Seq` (`fiscal_year`, `gl_date`, `gl_seq`), ADD KEY `Type_and_Number` (`type`,`trans_no`); +ALTER TABLE 0_item_codes ADD KEY (`item_code`); +ALTER TABLE 0_stock_moves ADD KEY `Move` (`stock_id`,`loc_code`, `tran_date`); +ALTER TABLE 0_wo_issues ADD KEY (`workorder_id`); +ALTER TABLE 0_wo_manufacture ADD KEY (`workorder_id`); +ALTER TABLE 0_wo_requirements ADD KEY (`workorder_id`); +ALTER TABLE 0_bom DROP KEY `Parent_2`; +ALTER TABLE 0_refs ADD KEY `Type_and_Reference` (`type`,`reference`); +ALTER TABLE 0_grn_items ADD KEY (`grn_batch_id`); +ALTER TABLE 0_grn_batch ADD KEY (`delivery_date`), ADD KEY (`purch_order_no`); +ALTER TABLE 0_supp_invoice_items ADD KEY `Transaction` (`supp_trans_type`, `supp_trans_no`, `stock_id`); +ALTER TABLE 0_purch_order_details ADD KEY `order` (`order_no`, `po_detail_item`); +ALTER TABLE 0_purch_orders ADD KEY (`ord_date`); +ALTER TABLE 0_supp_trans ADD KEY (`tran_date`), DROP PRIMARY KEY, ADD PRIMARY KEY (`type`, `trans_no`); +ALTER TABLE 0_suppliers ADD KEY (`supp_ref`); +ALTER TABLE 0_supp_allocations ADD KEY `From` (`trans_type_from`, `trans_no_from`), ADD KEY `To` (`trans_type_to`, `trans_no_to`); +ALTER TABLE 0_cust_branch DROP KEY `br_name`, ADD KEY (`branch_ref`), ADD KEY (`group_no`); +ALTER TABLE 0_debtors_master ADD KEY (`debtor_ref`); +ALTER TABLE 0_debtor_trans DROP PRIMARY KEY, ADD PRIMARY KEY (`type`, `trans_no`), ADD KEY (`tran_date`); +ALTER TABLE 0_debtor_trans_details ADD KEY `Transaction` (`debtor_trans_type`, `debtor_trans_no`); +ALTER TABLE 0_cust_allocations ADD KEY `From` (`trans_type_from`, `trans_no_from`), ADD KEY `To` (`trans_type_to`, `trans_no_to`); +ALTER TABLE 0_sales_order_details ADD KEY `sorder` (`trans_type`, `order_no`); +ALTER TABLE 0_chart_master ADD KEY `accounts_by_type` (`account_type`, `account_code`); +# fix invalid constraint on databases generated from 2.2 version on en_US-new.sql +#ALTER TABLE `0_tax_types` DROP KEY `name`; diff --git a/sql/en_US-demo.sql b/sql/en_US-demo.sql index bc0e602a..7c8e5be3 100644 --- a/sql/en_US-demo.sql +++ b/sql/en_US-demo.sql @@ -59,7 +59,8 @@ CREATE TABLE `0_audit_trail` ( `gl_date` date NOT NULL default '0000-00-00', `gl_seq` int(11) unsigned default NULL, PRIMARY KEY (`id`), - KEY (`fiscal_year`, `gl_seq`) + KEY `Seq` (`fiscal_year`, `gl_date`, `gl_seq`), + KEY `Type_and_Number` (`type`,`trans_no`) ) TYPE=InnoDB ; ### Data of table `0_audit_trail` ### @@ -87,7 +88,8 @@ CREATE TABLE `0_bank_accounts` ( `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), KEY `bank_account_name` (`bank_account_name`), - KEY `bank_account_number` (`bank_account_number`) + KEY `bank_account_number` (`bank_account_number`), + KEY (`account_code`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; @@ -116,7 +118,9 @@ CREATE TABLE `0_bank_trans` ( `reconciled` date default NULL, PRIMARY KEY (`id`), KEY `bank_act` (`bank_act`,`ref`), - KEY `type` (`type`,`trans_no`) + KEY `type` (`type`,`trans_no`), + KEY (`bank_act`,`reconciled`), + KEY (`bank_act`,`trans_date`) ) TYPE=InnoDB AUTO_INCREMENT=12 ; @@ -151,7 +155,6 @@ CREATE TABLE `0_bom` ( KEY `id` (`id`), KEY `loc_code` (`loc_code`), KEY `parent` (`parent`,`loc_code`), - KEY `Parent_2` (`parent`), KEY `workcentre_added` (`workcentre_added`) ) TYPE=MyISAM AUTO_INCREMENT=4 ; @@ -180,7 +183,8 @@ CREATE TABLE `0_budget_trans` ( `person_type_id` int(11) default NULL, `person_id` tinyblob, PRIMARY KEY (`counter`), - KEY `Type_and_Number` (`type`,`type_no`) + KEY `Type_and_Number` (`type`,`type_no`), + KEY `Account` (`account`, `tran_date`, `dimension_id`, `dimension2_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -220,8 +224,8 @@ CREATE TABLE `0_chart_master` ( `account_type` int(11) NOT NULL default '0', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`account_code`), - KEY `account_code` (`account_code`), - KEY `account_name` (`account_name`) + KEY `account_name` (`account_name`), + KEY `accounts_by_type` (`account_type`, `account_code`) ) TYPE=MyISAM ; @@ -317,6 +321,7 @@ CREATE TABLE `0_chart_types` ( `parent` int(11) NOT NULL default '-1', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), + KEY (`class_id`), KEY `name` (`name`) ) TYPE=MyISAM AUTO_INCREMENT=13 ; @@ -475,7 +480,9 @@ CREATE TABLE `0_cust_allocations` ( `trans_type_from` int(11) default NULL, `trans_no_to` int(11) default NULL, `trans_type_to` int(11) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `From` (`trans_type_from`, `trans_no_from`), + KEY `To` (`trans_type_to`, `trans_no_to`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -515,7 +522,8 @@ CREATE TABLE `0_cust_branch` ( `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`branch_code`,`debtor_no`), KEY `branch_code` (`branch_code`), - KEY `br_name` (`br_name`) + KEY (`branch_ref`), + KEY (`group_no`) ) TYPE=MyISAM AUTO_INCREMENT=4 ; @@ -552,8 +560,9 @@ CREATE TABLE `0_debtor_trans` ( `trans_link` int(11) NOT NULL default '0', `dimension_id` int(11) NOT NULL default '0', `dimension2_id` int(11) NOT NULL default '0', - PRIMARY KEY (`trans_no`,`type`), - KEY `debtor_no` (`debtor_no`,`branch_code`) + PRIMARY KEY (`type`, `trans_no`), + KEY `debtor_no` (`debtor_no`,`branch_code`), + KEY (`tran_date`) ) TYPE=InnoDB ; @@ -585,7 +594,8 @@ CREATE TABLE `0_debtor_trans_details` ( `discount_percent` double NOT NULL default '0', `standard_cost` double NOT NULL default '0', `qty_done` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Transaction` (`debtor_trans_type`, `debtor_trans_no`) ) TYPE=InnoDB AUTO_INCREMENT=9 ; @@ -624,7 +634,8 @@ CREATE TABLE `0_debtors_master` ( `notes` tinytext NOT NULL, `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`debtor_no`), - UNIQUE KEY `name` (`name`) + UNIQUE KEY `name` (`name`), + KEY (`debtor_ref`) ) TYPE=MyISAM AUTO_INCREMENT=4 ; @@ -648,7 +659,10 @@ CREATE TABLE `0_dimensions` ( `date_` date NOT NULL default '0000-00-00', `due_date` date NOT NULL default '0000-00-00', PRIMARY KEY (`id`), - UNIQUE KEY `reference` (`reference`) + UNIQUE KEY `reference` (`reference`), + KEY (`date_`), + KEY (`due_date`), + KEY (`type_`) ) TYPE=InnoDB AUTO_INCREMENT=3 ; @@ -689,7 +703,9 @@ CREATE TABLE `0_fiscal_year` ( `begin` date default '0000-00-00', `end` date default '0000-00-00', `closed` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + UNIQUE KEY(`begin`), + UNIQUE KEY(`end`) ) TYPE=InnoDB AUTO_INCREMENT=3 ; @@ -716,7 +732,11 @@ CREATE TABLE `0_gl_trans` ( `person_type_id` int(11) default NULL, `person_id` tinyblob, PRIMARY KEY (`counter`), - KEY `Type_and_Number` (`type`,`type_no`) + KEY `Type_and_Number` (`type`,`type_no`), + KEY (`dimension_id`), + KEY (`dimension2_id`), + KEY (`tran_date`), + KEY `account_and_tran_date` (`account`, `tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=84 ; @@ -818,7 +838,9 @@ CREATE TABLE `0_grn_batch` ( `reference` varchar(60) NOT NULL default '', `delivery_date` date NOT NULL default '0000-00-00', `loc_code` varchar(5) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY(`delivery_date`), + KEY(`purch_order_no`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -839,7 +861,8 @@ CREATE TABLE `0_grn_items` ( `description` tinytext, `qty_recd` double NOT NULL default '0', `quantity_inv` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`grn_batch_id`) ) TYPE=InnoDB AUTO_INCREMENT=4 ; @@ -884,7 +907,8 @@ CREATE TABLE `0_item_codes` ( `is_foreign` tinyint(1) NOT NULL default '0', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), - UNIQUE KEY `stock_id` (`stock_id`,`item_code`) + UNIQUE KEY `stock_id` (`stock_id`,`item_code`), + KEY (`item_code`) ) TYPE=MyISAM AUTO_INCREMENT=6 ; @@ -1148,7 +1172,8 @@ CREATE TABLE `0_purch_order_details` ( `std_cost_unit` double NOT NULL default '0', `quantity_ordered` double NOT NULL default '0', `quantity_received` double NOT NULL default '0', - PRIMARY KEY (`po_detail_item`) + PRIMARY KEY (`po_detail_item`), + KEY `order` (`order_no`, `po_detail_item`) ) TYPE=InnoDB AUTO_INCREMENT=6 ; @@ -1174,7 +1199,8 @@ CREATE TABLE `0_purch_orders` ( `requisition_no` tinytext, `into_stock_location` varchar(5) NOT NULL default '', `delivery_address` tinytext NOT NULL, - PRIMARY KEY (`order_no`) + PRIMARY KEY (`order_no`), + KEY (`ord_date`) ) TYPE=InnoDB AUTO_INCREMENT=3 ; @@ -1266,7 +1292,8 @@ CREATE TABLE `0_refs` ( `id` int(11) NOT NULL default '0', `type` int(11) NOT NULL default '0', `reference` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`,`type`) + PRIMARY KEY (`id`,`type`), + KEY `Type_and_Reference` (`type`,`reference`) ) TYPE=InnoDB ; @@ -1290,7 +1317,8 @@ CREATE TABLE `0_sales_order_details` ( `unit_price` double NOT NULL default '0', `quantity` double NOT NULL default '0', `discount_percent` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `sorder` (`trans_type`, `order_no`) ) TYPE=InnoDB AUTO_INCREMENT=6 ; @@ -1562,7 +1590,8 @@ CREATE TABLE `0_stock_moves` ( `standard_cost` double NOT NULL default '0', `visible` tinyint(1) NOT NULL default '1', PRIMARY KEY (`trans_id`), - KEY `type` (`type`,`trans_no`) + KEY `type` (`type`,`trans_no`), + KEY `Move` (`stock_id`,`loc_code`, `tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=37 ; @@ -1618,7 +1647,9 @@ CREATE TABLE `0_supp_allocations` ( `trans_type_from` int(11) default NULL, `trans_no_to` int(11) default NULL, `trans_type_to` int(11) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `From` (`trans_type_from`, `trans_no_from`), + KEY `To` (`trans_type_to`, `trans_no_to`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -1644,7 +1675,8 @@ CREATE TABLE `0_supp_invoice_items` ( `unit_price` double NOT NULL default '0', `unit_tax` double NOT NULL default '0', `memo_` tinytext, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Transaction` (`supp_trans_type`, `supp_trans_no`, `stock_id`) ) TYPE=InnoDB AUTO_INCREMENT=6 ; @@ -1674,10 +1706,11 @@ CREATE TABLE `0_supp_trans` ( `ov_gst` double NOT NULL default '0', `rate` double NOT NULL default '1', `alloc` double NOT NULL default '0', - PRIMARY KEY (`trans_no`,`type`), + PRIMARY KEY (`type`, `trans_no`), KEY `supplier_id` (`supplier_id`), KEY `SupplierID_2` (`supplier_id`,`supp_reference`), - KEY `type` (`type`) + KEY `type` (`type`), + KEY (`tran_date`) ) TYPE=InnoDB ; @@ -1718,7 +1751,8 @@ CREATE TABLE `0_suppliers` ( `payment_discount_account` varchar(11) default NULL, `notes` tinytext NOT NULL, `inactive` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`supplier_id`) + PRIMARY KEY (`supplier_id`), + KEY (`supp_ref`) ) TYPE=MyISAM AUTO_INCREMENT=4 ; @@ -1838,7 +1872,9 @@ CREATE TABLE `0_trans_tax_details` ( `net_amount` double NOT NULL default '0', `amount` double NOT NULL default '0', `memo` tinytext, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Type_and_Number` (`trans_type`,`trans_no`), + KEY (`tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=12 ; @@ -1946,7 +1982,8 @@ CREATE TABLE `0_wo_issues` ( `issue_date` date default NULL, `loc_code` varchar(5) default NULL, `workcentre_id` int(11) default NULL, - PRIMARY KEY (`issue_no`) + PRIMARY KEY (`issue_no`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1964,7 +2001,8 @@ CREATE TABLE `0_wo_manufacture` ( `workorder_id` int(11) NOT NULL default '0', `quantity` double NOT NULL default '0', `date_` date NOT NULL default '0000-00-00', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -1986,7 +2024,8 @@ CREATE TABLE `0_wo_requirements` ( `std_cost` double NOT NULL default '0', `loc_code` char(5) NOT NULL default '', `units_issued` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=22 ; @@ -2108,6 +2147,7 @@ CREATE TABLE `0_useronline` ( `ip` varchar(40) NOT NULL default '', `file` varchar(100) NOT NULL default '', PRIMARY KEY `id` (`id`) , - KEY (`timestamp`) + KEY (`timestamp`), + KEY(`ip`) ) TYPE=MYISAM AUTO_INCREMENT=1; diff --git a/sql/en_US-new.sql b/sql/en_US-new.sql index d8396b07..372265e3 100644 --- a/sql/en_US-new.sql +++ b/sql/en_US-new.sql @@ -58,7 +58,8 @@ CREATE TABLE `0_audit_trail` ( `gl_date` date NOT NULL default '0000-00-00', `gl_seq` int(11) unsigned default NULL, PRIMARY KEY (`id`), - KEY (`fiscal_year`, `gl_seq`) + KEY `Seq` (`fiscal_year`, `gl_date`, `gl_seq`), + KEY `Type_and_Number` (`type`,`trans_no`) ) TYPE=InnoDB ; ### Data of table `0_audit_trail` ### @@ -84,7 +85,8 @@ CREATE TABLE `0_bank_accounts` ( `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), KEY `bank_account_name` (`bank_account_name`), - KEY `bank_account_number` (`bank_account_number`) + KEY `bank_account_number` (`bank_account_number`), + KEY (`account_code`) ) TYPE=MyISAM AUTO_INCREMENT=3 ; @@ -113,7 +115,9 @@ CREATE TABLE `0_bank_trans` ( `reconciled` date default NULL, PRIMARY KEY (`id`), KEY `bank_act` (`bank_act`,`ref`), - KEY `type` (`type`,`trans_no`) + KEY `type` (`type`,`trans_no`), + KEY (`bank_act`,`reconciled`), + KEY (`bank_act`,`trans_date`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -137,7 +141,6 @@ CREATE TABLE `0_bom` ( KEY `id` (`id`), KEY `loc_code` (`loc_code`), KEY `parent` (`parent`,`loc_code`), - KEY `Parent_2` (`parent`), KEY `workcentre_added` (`workcentre_added`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; @@ -163,7 +166,8 @@ CREATE TABLE `0_budget_trans` ( `person_type_id` int(11) default NULL, `person_id` tinyblob, PRIMARY KEY (`counter`), - KEY `Type_and_Number` (`type`,`type_no`) + KEY `Type_and_Number` (`type`,`type_no`), + KEY `Account` (`account`, `tran_date`, `dimension_id`, `dimension2_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -202,8 +206,8 @@ CREATE TABLE `0_chart_master` ( `account_type` int(11) NOT NULL default '0', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`account_code`), - KEY `account_code` (`account_code`), - KEY `account_name` (`account_name`) + KEY `account_name` (`account_name`), + KEY `accounts_by_type` (`account_type`, `account_code`) ) TYPE=MyISAM ; @@ -300,6 +304,7 @@ CREATE TABLE `0_chart_types` ( `parent` int(11) NOT NULL default '-1', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), + KEY (`class_id`), KEY `name` (`name`) ) TYPE=MyISAM AUTO_INCREMENT=13 ; @@ -458,7 +463,9 @@ CREATE TABLE `0_cust_allocations` ( `trans_type_from` int(11) default NULL, `trans_no_to` int(11) default NULL, `trans_type_to` int(11) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `From` (`trans_type_from`, `trans_no_from`), + KEY `To` (`trans_type_to`, `trans_no_to`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -497,7 +504,8 @@ CREATE TABLE `0_cust_branch` ( `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`branch_code`,`debtor_no`), KEY `branch_code` (`branch_code`), - KEY `br_name` (`br_name`) + KEY (`branch_ref`), + KEY (`group_no`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; @@ -531,8 +539,9 @@ CREATE TABLE `0_debtor_trans` ( `trans_link` int(11) NOT NULL default '0', `dimension_id` int(11) NOT NULL default '0', `dimension2_id` int(11) NOT NULL default '0', - PRIMARY KEY (`trans_no`,`type`), - KEY `debtor_no` (`debtor_no`,`branch_code`) + PRIMARY KEY (`type`, `trans_no`), + KEY `debtor_no` (`debtor_no`,`branch_code`), + KEY (`tran_date`) ) TYPE=InnoDB ; @@ -556,7 +565,8 @@ CREATE TABLE `0_debtor_trans_details` ( `discount_percent` double NOT NULL default '0', `standard_cost` double NOT NULL default '0', `qty_done` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Transaction` (`debtor_trans_type`, `debtor_trans_no`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -587,7 +597,8 @@ CREATE TABLE `0_debtors_master` ( `notes` tinytext NOT NULL, `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`debtor_no`), - UNIQUE KEY `name` (`name`) + UNIQUE KEY `name` (`name`), + KEY (`debtor_ref`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; @@ -608,7 +619,10 @@ CREATE TABLE `0_dimensions` ( `date_` date NOT NULL default '0000-00-00', `due_date` date NOT NULL default '0000-00-00', PRIMARY KEY (`id`), - UNIQUE KEY `reference` (`reference`) + UNIQUE KEY `reference` (`reference`), + KEY (`date_`), + KEY (`due_date`), + KEY (`type_`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -644,7 +658,9 @@ CREATE TABLE `0_fiscal_year` ( `begin` date default '0000-00-00', `end` date default '0000-00-00', `closed` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + UNIQUE KEY(`begin`), + UNIQUE KEY(`end`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -670,7 +686,11 @@ CREATE TABLE `0_gl_trans` ( `person_type_id` int(11) default NULL, `person_id` tinyblob, PRIMARY KEY (`counter`), - KEY `Type_and_Number` (`type`,`type_no`) + KEY `Type_and_Number` (`type`,`type_no`), + KEY (`dimension_id`), + KEY (`dimension2_id`), + KEY (`tran_date`), + KEY `account_and_tran_date` (`account`,`tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -689,7 +709,9 @@ CREATE TABLE `0_grn_batch` ( `reference` varchar(60) NOT NULL default '', `delivery_date` date NOT NULL default '0000-00-00', `loc_code` varchar(5) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY(`delivery_date`), + KEY(`purch_order_no`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -709,7 +731,8 @@ CREATE TABLE `0_grn_items` ( `description` tinytext, `qty_recd` double NOT NULL default '0', `quantity_inv` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`grn_batch_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -751,7 +774,8 @@ CREATE TABLE `0_item_codes` ( `is_foreign` tinyint(1) NOT NULL default '0', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), - UNIQUE KEY `stock_id` (`stock_id`,`item_code`) + UNIQUE KEY `stock_id` (`stock_id`,`item_code`), + KEY (`item_code`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; @@ -998,7 +1022,8 @@ CREATE TABLE `0_purch_order_details` ( `std_cost_unit` double NOT NULL default '0', `quantity_ordered` double NOT NULL default '0', `quantity_received` double NOT NULL default '0', - PRIMARY KEY (`po_detail_item`) + PRIMARY KEY (`po_detail_item`), + KEY `order` (`order_no`, `po_detail_item`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1019,7 +1044,8 @@ CREATE TABLE `0_purch_orders` ( `requisition_no` tinytext, `into_stock_location` varchar(5) NOT NULL default '', `delivery_address` tinytext NOT NULL, - PRIMARY KEY (`order_no`) + PRIMARY KEY (`order_no`), + KEY (`ord_date`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1046,7 +1072,7 @@ CREATE TABLE `0_quick_entries` ( ### Data of table `0_quick_entries` ### INSERT INTO `0_quick_entries` VALUES ('1', '1', 'Maintenance', '0', 'Amount', '0'); -INSERT INTO `0_quick_entries` VALUES ('2', '4', 'Phone', '0', 'Amount'. '0'); +INSERT INTO `0_quick_entries` VALUES ('2', '4', 'Phone', '0', 'Amount', '0'); INSERT INTO `0_quick_entries` VALUES ('3', '2', 'Cash Sales', '0', 'Amount', '0'); @@ -1109,7 +1135,8 @@ CREATE TABLE `0_refs` ( `id` int(11) NOT NULL default '0', `type` int(11) NOT NULL default '0', `reference` varchar(100) NOT NULL default '', - PRIMARY KEY (`id`,`type`) + PRIMARY KEY (`id`,`type`), + KEY `Type_and_Reference` (`type`,`reference`) ) TYPE=InnoDB ; @@ -1131,7 +1158,8 @@ CREATE TABLE `0_sales_order_details` ( `unit_price` double NOT NULL default '0', `quantity` double NOT NULL default '0', `discount_percent` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `sorder` (`trans_type`, `order_no`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1312,7 +1340,7 @@ DROP TABLE IF EXISTS `0_stock_category`; CREATE TABLE `0_stock_category` ( `category_id` int(11) NOT NULL auto_increment, `description` varchar(60) NOT NULL default '', - `dflt_tax_type` int(11) NOT NULL default '0', + `dflt_tax_type` int(11) NOT NULL default '1', `dflt_units` varchar(20) NOT NULL default 'each', `dflt_mb_flag` char(1) NOT NULL default 'B', `dflt_sales_act` varchar(11) NOT NULL default '', @@ -1390,7 +1418,8 @@ CREATE TABLE `0_stock_moves` ( `standard_cost` double NOT NULL default '0', `visible` tinyint(1) NOT NULL default '1', PRIMARY KEY (`trans_id`), - KEY `type` (`type`,`trans_no`) + KEY `type` (`type`,`trans_no`), + KEY `Move` (`stock_id`,`loc_code`, `tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1410,7 +1439,9 @@ CREATE TABLE `0_supp_allocations` ( `trans_type_from` int(11) default NULL, `trans_no_to` int(11) default NULL, `trans_type_to` int(11) default NULL, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `From` (`trans_type_from`, `trans_no_from`), + KEY `To` (`trans_type_to`, `trans_no_to`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1435,7 +1466,8 @@ CREATE TABLE `0_supp_invoice_items` ( `unit_price` double NOT NULL default '0', `unit_tax` double NOT NULL default '0', `memo_` tinytext, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Transaction` (`supp_trans_type`, `supp_trans_no`, `stock_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1460,10 +1492,11 @@ CREATE TABLE `0_supp_trans` ( `ov_gst` double NOT NULL default '0', `rate` double NOT NULL default '1', `alloc` double NOT NULL default '0', - PRIMARY KEY (`trans_no`,`type`), + PRIMARY KEY (`type`, `trans_no`), KEY `supplier_id` (`supplier_id`), KEY `SupplierID_2` (`supplier_id`,`supp_reference`), - KEY `type` (`type`) + KEY `type` (`type`), + KEY (`tran_date`) ) TYPE=InnoDB ; @@ -1501,7 +1534,8 @@ CREATE TABLE `0_suppliers` ( `payment_discount_account` varchar(11) default NULL, `notes` tinytext NOT NULL, `inactive` tinyint(1) NOT NULL default '0', - PRIMARY KEY (`supplier_id`) + PRIMARY KEY (`supplier_id`), + KEY (`supp_ref`) ) TYPE=MyISAM AUTO_INCREMENT=1 ; @@ -1596,7 +1630,6 @@ CREATE TABLE `0_tax_types` ( `name` varchar(60) NOT NULL default '', `inactive` tinyint(1) NOT NULL default '0', PRIMARY KEY (`id`), - UNIQUE KEY `name` (`name`,`rate`) ) TYPE=InnoDB AUTO_INCREMENT=2 ; @@ -1621,7 +1654,9 @@ CREATE TABLE `0_trans_tax_details` ( `net_amount` double NOT NULL default '0', `amount` double NOT NULL default '0', `memo` tinytext, - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY `Type_and_Number` (`trans_type`,`trans_no`), + KEY (`tran_date`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1718,7 +1753,8 @@ CREATE TABLE `0_wo_issues` ( `issue_date` date default NULL, `loc_code` varchar(5) default NULL, `workcentre_id` int(11) default NULL, - PRIMARY KEY (`issue_no`) + PRIMARY KEY (`issue_no`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1736,7 +1772,8 @@ CREATE TABLE `0_wo_manufacture` ( `workorder_id` int(11) NOT NULL default '0', `quantity` double NOT NULL default '0', `date_` date NOT NULL default '0000-00-00', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1757,7 +1794,8 @@ CREATE TABLE `0_wo_requirements` ( `std_cost` double NOT NULL default '0', `loc_code` char(5) NOT NULL default '', `units_issued` double NOT NULL default '0', - PRIMARY KEY (`id`) + PRIMARY KEY (`id`), + KEY (`workorder_id`) ) TYPE=InnoDB AUTO_INCREMENT=1 ; @@ -1850,6 +1888,7 @@ CREATE TABLE `0_useronline` ( `ip` varchar(40) NOT NULL default '', `file` varchar(100) NOT NULL default '', PRIMARY KEY `id` (`id`) , - KEY (`timestamp`) + KEY (`timestamp`), + KEY(`ip`) ) TYPE=MYISAM AUTO_INCREMENT=1;