Copyright 2024 - BV TallVision IT

Indexes are part of the database management system and they can seriously improve the performance of your reports. They can be defined/added to a table through the data dictionary聽(SE11) and they require no actual changes to the report or reports you are targetting for your performance improvement. Before you add your index - read this article. Learn a bit about it. An index is a life-long task ongoing task for the system to keep up to date.

An index is part of the database system

Indexes are not specific to an Abap report. In fact - the only relation is that the table that is selected on in the Abap report is "optimized" to cater for a type of selection on the table. And that's what makes "Indexing" something to think about: the fields on an index are all key fields and the index will only be used when all it's fields are defined on the selection request (the SELECT statement). Note that the main key of a table is in fact also an index. The main key fields reside in index 0 or ~0. Why is this interesting information ? Because you should check the usage of indexes (or your own index) in ST05 and the ~0 will indicate the table's own key was used for the selection.

Find the overview of indexes for your table in聽SE11 Data Dictionary, under button "Indexes", where they are listed with the key fields for the index.

An index is effectively a table with all fields defined on the index and a table record reference to the original table entry. These tables consume space and system performance: as the system will keep track of them.

Indexes are serious business

The monitoring tool clearly show it: tables have their size and will occupy space. Indexes do the same. There are tables for which the indexes consume more space on the system's database, than the table itself. Then there is the simple fact that the system will keep an index up to date. Fully automatically, with every table update/insert/delete there is. So instead of inserting a record into a table, a record is in fact inserted into the table and all the indexes available for it. This will slow down the update process !

Getting this whole index business wrong - is also serious business. So make sure you get it right. And also: don't assume your predecessors got it all right - look out for custom added indexes, that don't work.

SAP delivers some tables with multiple indexes. Like with every custom object, the indexes that are added on the customer site adhere to the ~Znn convention (~Z01, ~Z02, ...).

Checklist on table indexes

An important item on the use of Indexes is this simple fact: the database will automatically use the index - for which the available field values are used. Thus an index for a single field will be used if a field value for this field is supplied in the selection. So your selection screen has a material number and the selection is on MARA. Index ~0 (also called: the key of the table) will be used when a material number is supplied in the selection screen. As a selection screen is likely to have select-option fields, a speficied range will also work.

  1. First of all, find the list of indexes already available and determine why these don't help you with the performance on your report. See the next paragraph on how the use of an index can be made visible.

    When you have decided to add a new index - design it. Which fields should be on your index ?

  2. Healthy spread: the fields you want to use for the access to the table, should be specific enough to "cut the table up into small enough chunks". Set up an index on a single field: the deletion indicator (LVORM) and this will be the effect:
    When a selection is done in which the deletion indicator is specified, the (very faulty) index will be selected and the database will utilize it.
    Since the results is a split table, with say 5% entries that were marked for deletion and 95% regular entries, the selection is continued with 95% of the selection (unless you want to select the deleted entries).
    The index will consume as much space as other indexes (mayby a bit less, as there is only 1 short field to keep track) - but no performance improvement gains are to be expected.
    An even spread should at least split the main table into 1% chunks. Thus the results of the index selection should never yield more than 1% of the table content - as answer.
  3. Don't put too many fields in your index. In other words: don't overdo it. Considering that every field will need to be specified in the selection, having too many fields will limit the index general use. Do remember: the index is not created for a specific report, it is part of the database and potentially applicable to many reports. It's really OK to put a bit of effort in it!
  4. Don't put the information you are looking for - in the index itself. This is a common mistake: you want to get the stock from table MARD and you specify the index with the LABST field. Now the index will only be utilized when the actual value for LABST is supplied in the selection statement.
  5. Relation to the table key - are all fields from the index also in the table key ? Then there is no point in having the index (think about this for just a second.. )
  6. Status fields - have a "spread" that is not suitable for index fields. Like a deletion indicator or a payment block.
  7. Quantity or amount fields - these are fields that are likely to alter often and are functionally unsuitable for index fields. Why would a selection define the actual quantity ?
    Consider this: any table field can be defined as index field. Once on the index, the field becomes a key field. So when quantity or amount (or similar) fields are used as index fields, the system will need to update these indexes with every stock move or amount alteration.
  8. Check whether the index you have added to the system is being utilized as expected. It's a waste of system resources if you let a new index into the system - which is not used. Do note: it's quite easy to determine whether an index is used in a specific situation, but it's very tricky to determine where/when indexes are used. As this factually depends on which fields are filled in on the selection screens of report - just as example.

深圳SEO优化公司盐城百度竞价包年推广哪家好吴忠网站搜索优化哪家好潜江网站优化软件推荐昭通关键词排名包年推广价格太原seo排名宝鸡网站优化推广怒江外贸网站建设榆林网站推广哪家好广东网站推广系统多少钱荆门建设网站哪家好山南网站建设设计推荐绵阳网站优化按天计费哪家好红河SEO按效果付费本溪关键词排名多少钱长沙网站优化按天扣费推荐南昌网站优化按天计费多少钱沈阳网站排名优化公司淮安百度网站优化排名龙岩营销型网站建设多少钱抚顺网站制作设计价格菏泽关键词排名包年推广价格白山seo网站优化公司嘉兴企业网站建设多少钱南澳网站seo优化推荐石家庄英文网站建设泰州网站推广哪家好凉山百度seo哪家好嘉兴网站制作设计多少钱汕头关键词排名包年推广哪家好和县seo优化多少钱歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化