数据库索引调整规程_第1页
数据库索引调整规程_第2页
数据库索引调整规程_第3页
数据库索引调整规程_第4页
数据库索引调整规程_第5页
已阅读5页,还剩18页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库索引调整规程一、概述

数据库索引是提升数据库查询性能的关键组件,但不当的索引设计或调整可能导致性能下降或资源浪费。本规程旨在规范数据库索引的调整流程,确保索引优化工作科学、高效、安全地进行。主要内容包括索引调整的触发条件、评估方法、实施步骤及后续监控,以维护数据库系统的稳定性和高效性。

二、索引调整的触发条件

索引调整应根据数据库运行状态和业务需求进行,常见的触发条件包括:

(一)查询性能下降

1.关键业务查询的响应时间显著延长(如超过预期阈值的50%)。

2.索引扫描次数过高(如单次查询涉及全表扫描)。

3.动态监控工具(如APM系统)检测到特定SQL的执行成本异常。

(二)数据量变化

1.表数据量增长超过50%,原有索引效率下降。

2.数据分布不均导致索引选择性低(如某列值重复率超过80%)。

(三)系统负载异常

1.CPU或I/O使用率在高峰时段持续高于90%。

2.索引维护操作(如重建)对业务影响过大。

三、索引调整的评估方法

(一)性能分析

1.使用EXPLAIN或类似工具分析查询执行计划,识别全表扫描或低效索引使用。

2.对比调整前后的执行时间、扫描行数、缓存命中率等指标。

(二)数据分布分析

1.统计列值的唯一值占比(如SELECTCOUNT(DISTINCTcolumn)/COUNT())。

2.分析数据倾斜情况(如某分区的数据量占总量超过70%)。

(三)成本效益评估

1.估算索引调整对查询和写入性能的增益(如预期查询时间缩短30%)。

2.评估资源消耗变化(如索引大小增加不超过10%)。

四、索引调整的实施步骤

(一)准备阶段

1.备份数据库或表(如使用在线备份功能)。

2.设置测试环境,模拟生产数据量(如100万-1000万行数据)。

(二)调整过程

1.删除冗余索引(如删除选择性极低的复合索引)。

2.重建或重新定义索引(如使用`REINDEX`或`CREATEINDEX...ON...`)。

-步骤:

(1)暂停写入操作或设置低优先级。

(2)监控索引操作耗时(如单张表重建索引不超过2小时)。

(3)验证索引结构(如使用`SHOWINDEXFROMtable`)。

(三)验证阶段

1.执行基准测试(如运行100条核心SQL查询)。

2.检查系统资源使用率(如内存缓冲区命中率)。

五、后续监控与优化

(一)持续监控

1.每日检查索引使用率(如`SHOWINDEXUSE`)。

2.月度分析查询日志,识别未使用索引(如NULL值占比高的索引)。

(二)动态优化

1.如发现新热点列,及时补充单列索引(如某列查询频率占70%)。

2.调整索引参数(如调整`INNODB_BUFFER_POOL_SIZE`)。

(三)文档记录

1.更新索引变更日志(包括调整原因、效果及影响)。

2.定期(如每季度)复盘索引调整效果。

一、概述

数据库索引是提升数据库查询性能的关键组件,但不当的索引设计或调整可能导致性能下降或资源浪费。本规程旨在规范数据库索引的调整流程,确保索引优化工作科学、高效、安全地进行。主要内容包括索引调整的触发条件、评估方法、实施步骤及后续监控,以维护数据库系统的稳定性和高效性。索引调整的目标是平衡查询优化与维护成本,避免过度索引导致的写入性能瓶颈和存储空间占用。本规程适用于所有关系型数据库管理系统(RDBMS),具体实施时需结合所选系统的语法和特性。

二、索引调整的触发条件

索引调整应根据数据库运行状态和业务需求进行,常见的触发条件包括:

(一)查询性能下降

1.关键业务查询的响应时间显著延长:通过监控系统(如Prometheus+Grafana或商业APM工具)长期观察,发现核心报表或交易查询的执行时间超出基线值(如平均值)的50%以上,且与业务量增长不匹配。

2.索引扫描次数过高:使用`EXPLAINPLAN`、`EXPLAINANALYZE`或数据库自带的性能分析工具,确认某查询频繁进行全表扫描(TableScan)或索引全扫描(FullIndexScan),而非预期的索引范围扫描(IndexRangeScan)或索引唯一扫描(IndexUniqueScan)。可通过统计执行计划中的`table_scan`和`index_scan`计数器来判断。

3.动态监控工具(如APM系统)检测到特定SQL的执行成本异常:监控平台(如Datadog、NewRelic)标记某SQL的数据库时间或等待时间持续偏高,并关联到缺乏有效索引的问题。

(二)数据量变化

1.表数据量增长超过50%,原有索引效率下降:当单张表的累计数据量增长至原大小的1.5倍以上时,原有索引的维护成本(如B树节点分裂)和查询选择性可能下降,导致性能退化。可通过`SHOWTABLESTATUS`或自定义查询统计表大小变化。

2.数据分布不均导致索引选择性低:对某列进行数据分析(如`SELECTCOUNT(DISTINCTcolumn),COUNT()FROMtable`),若`COUNT(DISTINCTcolumn)`/`COUNT()`比例低于20%,表明该列值高度重复,作为索引的效率低下,此时该索引应被评估或替换。

(三)系统负载异常

1.CPU或I/O使用率在高峰时段持续高于90%:监控系统显示数据库服务器在业务高峰期(如每日上午10-12点)的CPU使用率(用户态+系统态)或I/O等待时间持续超过90%,且通过分析确认与索引维护(如重建或批量插入)相关。

2.索引维护操作对业务影响过大:在执行`REINDEX`或`OPTIMIZETABLE`等索引维护命令时,发现数据库延迟(Latency)显著增加(如P99延迟超过500ms),或特定业务接口响应率下降超过5%,表明现有索引维护成本过高。

三、索引调整的评估方法

(一)性能分析

1.使用EXPLAIN或类似工具分析查询执行计划:

-步骤:

(1)选择3-5条代表性的慢查询。

(2)运行`EXPLAIN[FORMAT=JSON]SELECT...`命令获取执行计划。

(3)关注`type`列(如`ALL`代表全表扫描,`index`代表索引扫描),`possible_keys`和`key`列(确认是否使用了预期索引),以及`rows`列(预估扫描行数)。

(4)对比调整前后的执行计划,验证索引是否被有效利用。

2.对比调整前后的执行时间、扫描行数、缓存命中率等指标:

-使用时序数据库(如InfluxDB)记录调整前后的监控数据。

-关注核心查询的`query_time`、`rows_sent`,以及数据库缓存相关指标(如`Innodb_buffer_pool_read_requests`、`Innodb_buffer_pool_read命中率`)。

-计算指标变化率(如查询时间缩短百分比)。

(二)数据分布分析

1.统计列值的唯一值占比:

-步骤:

(1)对疑似低选择性的索引列,执行`SELECTCOUNT(DISTINCTcolumn),COUNT()FROMtable`。

(2)解读结果:若唯一值占比低于30%,则该列不适合作为高选择性索引。

(3)结合业务场景判断:若该列常用于等值查询(如`column='value'`),低选择性索引仍可能有价值;若用于范围查询(如`column>'value'`),则价值有限。

2.分析数据倾斜情况:

-使用`SELECTcolumn,COUNT()FROMtableGROUPBYcolumnORDERBYCOUNT()DESCLIMIT1`找出最高频值及其占比。

-若某个值的出现次数占总行数的70%以上,基于该值的索引效果将大打折扣。此时可考虑:

-用其他区分度更高的列替代索引。

-若业务允许,对该列进行分区,并在每个分区内创建索引。

-使用函数索引(如`INDEX(LOWER(column))`)处理大小写敏感性问题,前提是函数运算开销可接受。

(三)成本效益评估

1.估算索引调整对查询和写入性能的增益:

-步骤:

(1)基准测试:在测试环境中,对调整前后的场景(如添加/删除索引、重建索引)运行核心查询,记录响应时间。

(2)模拟数据量:使用测试数据量(如100万-1000万行)进行测试,确保结果具有代表性。

(3)计算增益:如添加复合索引后,某查询时间从500ms缩短至100ms,则增益为80%。

(4)量化影响:预计索引调整后,相关查询的平均响应时间下降XX%,关键事务吞吐量提升XX%。

2.评估资源消耗变化:

-监控索引创建/重建过程中的资源使用情况(如CPU、I/O、内存)。

-估算索引大小:使用`SHOWINDEXFROMtable`获取索引页数,结合平均页大小估算空间占用。

-设定阈值:如索引大小增加不超过表总空间的10%,CPU峰值使用率不超过基线的20%。

-评估写入影响:确认索引调整不会导致更新(Update)、插入(Insert)、删除(Delete)操作的平均耗时增加超过15%。

四、索引调整的实施步骤

(一)准备阶段

1.备份数据库或表:

-方法:

(1)使用数据库提供的备份工具(如MySQL的`mysqldump`,PostgreSQL的`pg_dump`)。

(2)对于大表,优先采用物理备份(如使用`xtrabackup`、`barman`或云服务商的快照功能),以保留索引状态。

(3)验证备份可用性:尝试恢复部分数据进行校验。

-注意:备份时间需纳入窗口期规划。

2.设置测试环境:

-要求:测试环境需与生产环境在硬件规格、操作系统、数据库版本、配置参数(如缓冲池大小)上保持高度一致。

-步骤:

(1)导入生产全量数据或代表性抽样数据(如最近30天数据)。

(2)模拟生产负载:使用`sysbench`、`pgbench`或录制脚本模拟业务写入和查询流量。

(3)部署待测试的索引变更方案。

(二)调整过程

1.删除冗余索引:

-依据:基于性能分析和数据分布评估结果,删除低使用率(如`index_usage_stats`显示极少被选择)、重复性(如多个覆盖完全相同的索引)、或无用(如仅包含NULL值的索引)的索引。

-注意:删除前确认无依赖的查询或报表仍在使用该索引。

-命令:`ALTERTABLEtableDROPINDEXindex_name;`

2.重建或重新定义索引:

-步骤:

(1)暂停写入操作或设置低优先级:

-方法:临时降低表的事务隔离级别(如MySQL的`SETSESSIONTRANSACTIONISOLATIONLEVELREADCOMMITTED;`),或调整队列优先级。

-预警:提前通知相关业务方可能出现的短暂查询延迟。

(2)监控索引操作耗时:

-对于InnoDB表,`ALTERTABLE...ADDINDEX...`操作会在线重建索引,但高并发下仍可能影响写入。

-使用`SHOWPROCESSLIST`或性能监控工具跟踪操作进度。

-设定时间阈值:单张表索引重建时间控制在业务低峰期且不超过2小时。

(3)验证索引结构:

-命令:`SHOWINDEXFROMtable;`检查新索引的`Key_name`、`Seq_in_index`、`Collation`等字段是否符合预期。

-验证索引页数:对比`table_schema.INFORMATION_SCHEMA.STATISTICS`中的`index_length`和`data_length`。

(4)处理失败回滚:若操作中断或验证失败,根据备份快速恢复至调整前状态。

-命令:`ALTERTABLEtableADDINDEXindex_name(column1,column2)[INDEXTYPE];`

(三)验证阶段

1.执行基准测试:

-范围:运行在测试环境中记录的100条核心查询,覆盖全量数据和典型负载模式。

-指标:记录每条查询的响应时间、CPU消耗、I/O消耗。

-对比:与调整前的测试结果进行对比,确认性能提升(如平均查询时间缩短30%以上)。

2.检查系统资源使用率:

-关键指标:

-内存:缓冲池命中率(如InnoDB的`Innodb_buffer_pool_read命中率`)是否恢复至正常水平(如95%以上)。

-CPU:平均负载是否下降,无长期峰值异常。

-I/O:磁盘读写速率是否稳定,无突发性瓶颈。

-工具:使用`top`、`iostat`、`vmstat`或数据库自带的监控视图(如PostgreSQL的`pg_stat_activity`)。

五、后续监控与优化

(一)持续监控

1.每日检查索引使用率:

-方法:定期(如每日凌晨)查询`information_schema.STATISTICS`或使用第三方工具(如PerconaToolkit的`index_usage_stats`)获取索引选择率(`key_count`/`table_rows`)和查询次数(`seq_in_index`)。

-标准:选择率低于10%的索引需重点关注,可能存在数据倾斜或查询变更导致其失效。

2.月度分析查询日志:

-工具:使用数据库的慢查询日志(如MySQL的`slow_query_log`)或APM平台的SQL分析功能。

-关注:出现频繁的未使用索引(`key`列为`NULL`),或执行计划发生意外的查询。

(二)动态优化

1.如发现新热点列,及时补充单列索引:

-场景:当发现某个原本未索引的列(如用户ID、日期字段)在调整后成为查询过滤条件的热点(如日查询量超百万)。

-操作:在测试验证后,添加针对该列的单列索引。

2.调整索引参数:

-场景:对于InnoDB表,若索引维护(如插入时页分裂)成为瓶颈。

-操作:调整`innodb_buffer_pool_size`(增大缓冲池可能提升索引页加载速度)、`innodb_log_file_size`(增大日志文件可能加快批量写入时的索引重建)。

-注意:参数调整需充分测试,避免对整体系统造成负面影响。

(三)文档记录

1.更新索引变更日志:

-内容:记录每次索引调整的日期、操作人、调整原因(如“优化查询XX,响应时间目标缩短50%”)、具体变更(删除/添加/重建的索引及其定义)、测试结果(如“测试环境平均查询时间从500ms降至100ms”)、生产环境上线时间及验证效果。

-形式:可维护在Wiki、Confluence或版本控制的文档库中。

2.定期(如每季度)复盘索引调整效果:

-对象:回顾过去三个月内所有索引变更记录。

-目的:评估调整是否达到预期目标,分析未达预期的原因(如业务逻辑变更导致索引失效),总结经验教训,优化后续的索引管理策略。

一、概述

数据库索引是提升数据库查询性能的关键组件,但不当的索引设计或调整可能导致性能下降或资源浪费。本规程旨在规范数据库索引的调整流程,确保索引优化工作科学、高效、安全地进行。主要内容包括索引调整的触发条件、评估方法、实施步骤及后续监控,以维护数据库系统的稳定性和高效性。

二、索引调整的触发条件

索引调整应根据数据库运行状态和业务需求进行,常见的触发条件包括:

(一)查询性能下降

1.关键业务查询的响应时间显著延长(如超过预期阈值的50%)。

2.索引扫描次数过高(如单次查询涉及全表扫描)。

3.动态监控工具(如APM系统)检测到特定SQL的执行成本异常。

(二)数据量变化

1.表数据量增长超过50%,原有索引效率下降。

2.数据分布不均导致索引选择性低(如某列值重复率超过80%)。

(三)系统负载异常

1.CPU或I/O使用率在高峰时段持续高于90%。

2.索引维护操作(如重建)对业务影响过大。

三、索引调整的评估方法

(一)性能分析

1.使用EXPLAIN或类似工具分析查询执行计划,识别全表扫描或低效索引使用。

2.对比调整前后的执行时间、扫描行数、缓存命中率等指标。

(二)数据分布分析

1.统计列值的唯一值占比(如SELECTCOUNT(DISTINCTcolumn)/COUNT())。

2.分析数据倾斜情况(如某分区的数据量占总量超过70%)。

(三)成本效益评估

1.估算索引调整对查询和写入性能的增益(如预期查询时间缩短30%)。

2.评估资源消耗变化(如索引大小增加不超过10%)。

四、索引调整的实施步骤

(一)准备阶段

1.备份数据库或表(如使用在线备份功能)。

2.设置测试环境,模拟生产数据量(如100万-1000万行数据)。

(二)调整过程

1.删除冗余索引(如删除选择性极低的复合索引)。

2.重建或重新定义索引(如使用`REINDEX`或`CREATEINDEX...ON...`)。

-步骤:

(1)暂停写入操作或设置低优先级。

(2)监控索引操作耗时(如单张表重建索引不超过2小时)。

(3)验证索引结构(如使用`SHOWINDEXFROMtable`)。

(三)验证阶段

1.执行基准测试(如运行100条核心SQL查询)。

2.检查系统资源使用率(如内存缓冲区命中率)。

五、后续监控与优化

(一)持续监控

1.每日检查索引使用率(如`SHOWINDEXUSE`)。

2.月度分析查询日志,识别未使用索引(如NULL值占比高的索引)。

(二)动态优化

1.如发现新热点列,及时补充单列索引(如某列查询频率占70%)。

2.调整索引参数(如调整`INNODB_BUFFER_POOL_SIZE`)。

(三)文档记录

1.更新索引变更日志(包括调整原因、效果及影响)。

2.定期(如每季度)复盘索引调整效果。

一、概述

数据库索引是提升数据库查询性能的关键组件,但不当的索引设计或调整可能导致性能下降或资源浪费。本规程旨在规范数据库索引的调整流程,确保索引优化工作科学、高效、安全地进行。主要内容包括索引调整的触发条件、评估方法、实施步骤及后续监控,以维护数据库系统的稳定性和高效性。索引调整的目标是平衡查询优化与维护成本,避免过度索引导致的写入性能瓶颈和存储空间占用。本规程适用于所有关系型数据库管理系统(RDBMS),具体实施时需结合所选系统的语法和特性。

二、索引调整的触发条件

索引调整应根据数据库运行状态和业务需求进行,常见的触发条件包括:

(一)查询性能下降

1.关键业务查询的响应时间显著延长:通过监控系统(如Prometheus+Grafana或商业APM工具)长期观察,发现核心报表或交易查询的执行时间超出基线值(如平均值)的50%以上,且与业务量增长不匹配。

2.索引扫描次数过高:使用`EXPLAINPLAN`、`EXPLAINANALYZE`或数据库自带的性能分析工具,确认某查询频繁进行全表扫描(TableScan)或索引全扫描(FullIndexScan),而非预期的索引范围扫描(IndexRangeScan)或索引唯一扫描(IndexUniqueScan)。可通过统计执行计划中的`table_scan`和`index_scan`计数器来判断。

3.动态监控工具(如APM系统)检测到特定SQL的执行成本异常:监控平台(如Datadog、NewRelic)标记某SQL的数据库时间或等待时间持续偏高,并关联到缺乏有效索引的问题。

(二)数据量变化

1.表数据量增长超过50%,原有索引效率下降:当单张表的累计数据量增长至原大小的1.5倍以上时,原有索引的维护成本(如B树节点分裂)和查询选择性可能下降,导致性能退化。可通过`SHOWTABLESTATUS`或自定义查询统计表大小变化。

2.数据分布不均导致索引选择性低:对某列进行数据分析(如`SELECTCOUNT(DISTINCTcolumn),COUNT()FROMtable`),若`COUNT(DISTINCTcolumn)`/`COUNT()`比例低于20%,表明该列值高度重复,作为索引的效率低下,此时该索引应被评估或替换。

(三)系统负载异常

1.CPU或I/O使用率在高峰时段持续高于90%:监控系统显示数据库服务器在业务高峰期(如每日上午10-12点)的CPU使用率(用户态+系统态)或I/O等待时间持续超过90%,且通过分析确认与索引维护(如重建或批量插入)相关。

2.索引维护操作对业务影响过大:在执行`REINDEX`或`OPTIMIZETABLE`等索引维护命令时,发现数据库延迟(Latency)显著增加(如P99延迟超过500ms),或特定业务接口响应率下降超过5%,表明现有索引维护成本过高。

三、索引调整的评估方法

(一)性能分析

1.使用EXPLAIN或类似工具分析查询执行计划:

-步骤:

(1)选择3-5条代表性的慢查询。

(2)运行`EXPLAIN[FORMAT=JSON]SELECT...`命令获取执行计划。

(3)关注`type`列(如`ALL`代表全表扫描,`index`代表索引扫描),`possible_keys`和`key`列(确认是否使用了预期索引),以及`rows`列(预估扫描行数)。

(4)对比调整前后的执行计划,验证索引是否被有效利用。

2.对比调整前后的执行时间、扫描行数、缓存命中率等指标:

-使用时序数据库(如InfluxDB)记录调整前后的监控数据。

-关注核心查询的`query_time`、`rows_sent`,以及数据库缓存相关指标(如`Innodb_buffer_pool_read_requests`、`Innodb_buffer_pool_read命中率`)。

-计算指标变化率(如查询时间缩短百分比)。

(二)数据分布分析

1.统计列值的唯一值占比:

-步骤:

(1)对疑似低选择性的索引列,执行`SELECTCOUNT(DISTINCTcolumn),COUNT()FROMtable`。

(2)解读结果:若唯一值占比低于30%,则该列不适合作为高选择性索引。

(3)结合业务场景判断:若该列常用于等值查询(如`column='value'`),低选择性索引仍可能有价值;若用于范围查询(如`column>'value'`),则价值有限。

2.分析数据倾斜情况:

-使用`SELECTcolumn,COUNT()FROMtableGROUPBYcolumnORDERBYCOUNT()DESCLIMIT1`找出最高频值及其占比。

-若某个值的出现次数占总行数的70%以上,基于该值的索引效果将大打折扣。此时可考虑:

-用其他区分度更高的列替代索引。

-若业务允许,对该列进行分区,并在每个分区内创建索引。

-使用函数索引(如`INDEX(LOWER(column))`)处理大小写敏感性问题,前提是函数运算开销可接受。

(三)成本效益评估

1.估算索引调整对查询和写入性能的增益:

-步骤:

(1)基准测试:在测试环境中,对调整前后的场景(如添加/删除索引、重建索引)运行核心查询,记录响应时间。

(2)模拟数据量:使用测试数据量(如100万-1000万行)进行测试,确保结果具有代表性。

(3)计算增益:如添加复合索引后,某查询时间从500ms缩短至100ms,则增益为80%。

(4)量化影响:预计索引调整后,相关查询的平均响应时间下降XX%,关键事务吞吐量提升XX%。

2.评估资源消耗变化:

-监控索引创建/重建过程中的资源使用情况(如CPU、I/O、内存)。

-估算索引大小:使用`SHOWINDEXFROMtable`获取索引页数,结合平均页大小估算空间占用。

-设定阈值:如索引大小增加不超过表总空间的10%,CPU峰值使用率不超过基线的20%。

-评估写入影响:确认索引调整不会导致更新(Update)、插入(Insert)、删除(Delete)操作的平均耗时增加超过15%。

四、索引调整的实施步骤

(一)准备阶段

1.备份数据库或表:

-方法:

(1)使用数据库提供的备份工具(如MySQL的`mysqldump`,PostgreSQL的`pg_dump`)。

(2)对于大表,优先采用物理备份(如使用`xtrabackup`、`barman`或云服务商的快照功能),以保留索引状态。

(3)验证备份可用性:尝试恢复部分数据进行校验。

-注意:备份时间需纳入窗口期规划。

2.设置测试环境:

-要求:测试环境需与生产环境在硬件规格、操作系统、数据库版本、配置参数(如缓冲池大小)上保持高度一致。

-步骤:

(1)导入生产全量数据或代表性抽样数据(如最近30天数据)。

(2)模拟生产负载:使用`sysbench`、`pgbench`或录制脚本模拟业务写入和查询流量。

(3)部署待测试的索引变更方案。

(二)调整过程

1.删除冗余索引:

-依据:基于性能分析和数据分布评估结果,删除低使用率(如`index_usage_stats`显示极少被选择)、重复性(如多个覆盖完全相同的索引)、或无用(如仅包含NULL值的索引)的索引。

-注意:删除前确认无依赖的查询或报表仍在使用该索引。

-命令:`ALTERTABLEtableDROPINDEXindex_name;`

2.重建或重新定义索引:

-步骤:

(1)暂停写入操作或设置低优先级:

-方法:临时降低表的事务隔离级别(如MySQL的`SETSESSIONTRANSACTIONISOLATIONLEVELREADCOMMITTED;`),或调整队列优先级。

-预警:提前通知相关业务方可能出现的短暂查询延迟。

(2)监控索引操作耗时:

-对于InnoDB表,`ALTERTABLE...ADDINDEX...`操作会在线重建索引,但高并发下仍可能影响写入。

-使用`SHOWPROCESSLIST`或性能监控工具跟踪操作进度。

-设定时间阈值:单张表索引重建时间控制在业务低峰期且不超过2小时。

(3)验证索引结构:

-命令:`SHOWINDEXFROMtable;`检查新索引的`Key_name`、`Seq_in_index`、`Collation`等字段是否符合预期。

-验证索引页数:对比`table_schema.INFORMATION_SCHEMA.STATISTICS`中的`index_length`和`data_length`。

(4)处理失败回滚:若操作中断或验证失败,根据备份快速恢复至调整前状态。

-命令:`ALTERTABLEtableADDINDEXindex_name(column1,column2)[INDEXTYPE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论