#||
|| {{toc numerate=1}} | {{tree}} ||
||#
===Table Structure===
1. ((!/Layout/acl acl))
2. ((!/Layout/auth_token auth_token))
1. ((!/Layout/cache cache))
2. ((!/Layout/category category))
3. ((!/Layout/categoryassignment category_assignment))
4. ((!/Layout/config config))
5. ((!/Layout/external_link external_link))
5. ((!/Layout/files file))
6. ((!/Layout/filelink file_link))
1. ((!/Layout/log log))
2. ((!/Layout/menu menu))
2. ((!/Layout/page page))
1. ((!/Layout/pagelink page_link))
1. ((!/Layout/referrer referrer))
1. ((!/Layout/revision revision))
1. ((!/Layout/user user))
2. ((!/Layout/usersetting user_setting))
3. ((!/Layout/usergroup usergroup))
4. ((!/Layout/usergroup_member usergroup_member))
5. ((!/Layout/watch watch))
====Access MySQL via command line====
%% mysql -h 127.0.0.1 -P 3306 -u root -p <database> %%
%% mysql> DESCRIBE table_name; %%
====Database Diagram ====
{{files page="/Dev/Release/R6.1/Database"}}
-> ((http://dev.mysql.com/workbench/ MySQL Workbench))
====Database Script ====
====Performance====
Indexes
* Ensure indexes on columns used in WHERE, ON, GROUP BY clauses
* Always ensure JOIN conditions are indexed (and have identical data types)
* Be careful of the column order
* If you don't pick a primary key (bad idea!), one will be created for you -> And, you have no control over the key
====Naming====
Use **singular** for table names, e.g. “page” not “pages”
A table structure describes a specific entity
====Proposed Database Schema Changes====
* ((Release/R5.5/Database R5.5))
* ((Release/R6.0/Database R6.0))
* ((Release/R6.1/Database R6.1))