通达OA提速 检查表索引,删除重复索引,并建立必要的新索引

来源:互联网 发布:black知乎 编辑:程序博客网 时间:2024/06/05 00:12
系统管理 -> 数据库管理 -> 数据库脚本导入
放到这个目录中MYOA/webroot/update/,重新登录oa系统
 

<?
include_once("inc/conn.php");
include_once("inc/utility_all.php");
//--------------------------------------   检查表索引,删除重复索引,并建立必要的新索引----------------------------
$INDEX_ARRAY=array(
   "ADDRESS" => array('USER_ID','GROUP_ID','PSN_NAME'),
   "ADDRESS_GROUP" => array('GROUP_NAME','USER_ID','ORDER_NO'),
   "AFFAIR" => array('USER_ID','BEGIN_TIME','END_TIME'),
   "ATTEND_DUTY" => array('USER_ID','REGISTER_TIME'),
   "ATTEND_HOLIDAY" => array('BEGIN_DATE','END_DATE'),
   "ATTEND_LEAVE" => array('USER_ID','LEADER_ID','LEAVE_DATE1','LEAVE_DATE2'),
   "ATTEND_OUT" => array('USER_ID','LEADER_ID','CREATE_DATE','SUBMIT_TIME'),
   "BBS_BOARD" => array('BOARD_NO'),
   "BBS_COMMENT" => array('USER_ID','BOARD_ID','SUBMIT_TIME','PARENT'),
   "BOOK_INFO" => array('ISBN','TYPE_ID','DEPT','BOOK_NO'),
   "CALENDAR" => array('USER_ID','CAL_TIME','END_TIME','MANAGER_ID'),
   "DEPARTMENT" => array('DEPT_NO','DEPT_PARENT'),
   "DIARY" => array('USER_ID','DIA_DATE','DIA_TIME'),
   "DIARY_COMMENT" => array('USER_ID','DIA_ID','SEND_TIME'),
   "EMAIL" => array('TO_ID','BOX_ID','BODY_ID'),
   "EMAIL_BODY" => array('FROM_ID','SUBJECT','SEND_TIME'),
   "EMAIL_BOX" => array('USER_ID','BOX_NO','BOX_NAME'),
   "FIELD_DATE" => array('TABLENAME','FIELDNO','IDENTY_ID'),
   "FIELDSETTING" => array('TABLENAME','FIELDNO','FIELDNAME','ORDERNO'),
   "FILE_CONTENT" => array('SORT_ID','SUBJECT','SEND_TIME','USER_ID','CONTENT_NO'),
   "FILE_SORT" => array('DEPT_ID','SORT_PARENT','SORT_NO','SORT_NAME'),
   "FLOW_RUN_PRCS" => array('RUN_ID','USER_ID','PRCS_ID'),
   "FLOW_RUN" => array('RUN_ID','FLOW_ID','RUN_NAME','BEGIN_TIME','END_TIME'),
   "FLOW_RUN_DATA" => array('RUN_ID'),
   "FLOW_PROCESS" => array('FLOW_ID','PRCS_ID'),
   "FLOW_RUN_FEEDBACK" => array('RUN_ID','PRCS_ID'),
   "FLOW_RULE" => array('FLOW_ID','USER_ID','BEGIN_DATE','END_DATE'),
   "FLOW_TYPE" => array('FLOW_SORT','FORM_ID'),
   "FLOW_FORM_TYPE" => array('DEPT_ID'),
   "MYTABLE" => array('MODULE_NO'),
   "NETDISK" => array('DISK_NO'),
   "NEWS" => array('SUBJECT','PROVIDER','NEWS_TIME'),
   "NEWS_COMMENT" => array('PARENT_ID','NEWS_ID','USER_ID','RE_TIME'),
   "NOTIFY" => array('FROM_DEPT','FROM_ID','SUBJECT','SEND_TIME','BEGIN_DATE','END_DATE','AUDITER','AUDIT_DATE'),
   "PLAN_TYPE" => array('TYPE_NO'),
   "SMS" => array('TO_ID','BODY_ID'),
   "SMS2" => array('FROM_ID','PHONE','SEND_TIME'),
   "SMS3" => array('PHONE','SEND_TIME'),
   "SMS_BODY" => array('FROM_ID','SMS_TYPE','SEND_TIME'),
   "SYS_CODE" => array('CODE_NO','CODE_ORDER','PARENT_NO'),
   "SYS_LOG" => array('USER_ID','TIME','TYPE'),
   "USER" => array('USER_ID','USER_NAME','USER_PRIV','DEPT_ID','BYNAME','USER_NO'),
   "USER_GROUP" => array('USER_ID','ORDER_NO'),
   "VOTE_DATA" => array('USER_ID','ITEM_ID','FIELD_NAME'),
   "VOTE_ITEM" => array('VOTE_ID'),
   "VOTE_TITLE" => array('PARENT_ID','FROM_ID','SEND_TIME','BEGIN_DATE','END_DATE','VOTE_NO'),
   "WEBMAIL" => array('USER_ID','EMAIL'),
   "WINEXE" => array('USER_ID','WIN_NO'),
   "WORK_DETAIL" => array('PLAN_ID','WRITE_TIME','WRITER'),
   "WORK_PERSON" => array('PLAN_ID','PUSER_ID','PBEGEI_DATE','PEND_DATE'),
   "WORK_PLAN" => array('BEGIN_DATE','END_DATE','CREATOR','CREATE_DATE')
);

foreach($INDEX_ARRAY as $TABLE_NAME => $INDEX)
{
   $Column_name_str="";
   $query="SHOW INDEX FROM `".$TABLE_NAME."`";
   $cursor=exequery($connection, $query);
   while($ROW=mysql_fetch_array($cursor))
   {
      $Column_name=$ROW["Column_name"];
      $Key_name=$ROW["Key_name"];
      if(find_id($Column_name_str,$Column_name))
      {
         $query="ALTER TABLE `".$TABLE_NAME."` DROP INDEX `".$Key_name."`";
         @exequery($connection, $query);
      }
      else
      {
         $Column_name_str.=$Column_name.",";
      }
   }

   foreach($INDEX as $Column_name)
   {
      if(find_id($Column_name_str,$Column_name))
         continue;
      $query="ALTER TABLE `".$TABLE_NAME."` ADD INDEX ( `".$Column_name."` ) ";
      @exequery($connection, $query);
   }
}

?>

原创粉丝点击