Пример #1
0
        public int TableAddIndexServer(object model)
        {
            int changetablenum      = 0;
            int changetableindexnum = 0;
            var item      = model as SqlServerItemXml;
            var basemodel = DBConfig.GetBaseXmlConfig(item.BaseNumber);

            if (item != null)
            {
                var databaselist = DBConfig.GetDatabaseItemXmlConfigList(basemodel, item.Number);
                foreach (var item2 in databaselist)
                {
                    var    tablelist = DBConfig.GetTableItemXmlConfigList(basemodel, item2.Number);
                    string connstr   = DBProxyAction.GetConnStr(basemodel, item);
                    foreach (var item3 in tablelist)
                    {
                        int validnum = 0;
                        foreach (var itemfield in basemodel.FieldIndexList)
                        {
                            string indexname = basemodel.IndexPrev + item3.TableName + itemfield;
                            if (!DBProxy.GetDBAccess(item.DBType).TableIndexExists(connstr, item2.DatabaseName, item3.TableName, indexname))
                            {
                                validnum++;
                                changetableindexnum++;
                                DBProxy.GetDBAccess(item.DBType).TableIndexAdd(connstr, item2.DatabaseName, item3.TableName, itemfield, indexname);
                                Console.WriteLine("添加索引服务器:" + item.ServerName + ",数据库:" + item2.DatabaseName + ",表:" + item3.TableName);
                            }
                        }
                        if (validnum > 0)
                        {
                            changetablenum++;
                        }
                    }
                }
            }
            Console.WriteLine("服务器:" + item.ServerName + ",涉及表总数:" + changetablenum + ",添加索引总数:" + changetableindexnum);
            return(1);
        }