is an overall index provides fast response in OLTP times?

Hi all

I read a doc

http://docs.Oracle.com/CD/E18283_01/server.112/e16541/partition.htm#insertedID5

and it is said that If the application is an OLTP we and users needs quick response time, use an overall index

I don't know how an overall index provides quick access.

Assume there is a table and that is partitioned by hash.

This table has a local index on column owner - no partition key column.

To query the information of owner of SCOTT, Oracle will scan all index partitions that have given Scott.

bandicam 2015-05-03 23-27-35-651.png

On the other hand, there is an overall index on column 'owner '.

To query the information of SCOTT, Oracle probes also all index partitions that have given Scott.

bandicam 2015-05-03 23-27-28-126.png

So, here's the question.

Why everyone says that an overall index has good performance (response time) in OLTP?

Supplementary question

Similarly with above, there is a table copied from object. And the table is partitioned by hash (object_id).

To the query with where clause (where owner = xxx), If there is a local index, Oracle scans RANGE SCAN on the t_idx_local index in the first partition through the last partition (take a look at Pstart, Pstop)

bandicam 2015-05-03 23-36-29-786.png

But when Oracle uses the overall index, Pstart. Pstop column values are ' KEY | KEY "."

What does that mean??

bandicam 2015-05-03 23-36-20-020.png

Thank you.

The KEY to the formulation of the plan means that Oracle will use pruning partitiong dynamic rather than static.

Only it Oracle knows he can partition plum but it determines real partitions during execution, rather than during the analysis.

It's EXACTLY what you'd expect with an OVERALL index. Oracle search the index keys in the overall index and at this time there may find that some lines are in partition 13, others in the bulkhead 27, etc..

With a local index Oracle uses more generally STATIC pruning. You have a local index with a MONTHLY distribution key and your query wants all data of MAY. Oracle knows at the time you want the data for MAY and can use the data dictionary to determine what partitions have CAN data since the index INCLUDES partitiong keys.

Tags: Database

Similar Questions

  • I got a reminder of the support provided from 09:00 Pacific time, and nobody has called me back... What do I do?

    I got a reminder of the support provided from 09:00 Pacific time, and nobody has called me back... What do I do?

    I was troubleshooting my issue is going on 3 weeks and I still have to do the same things again and again, whenever I start with a new technician. It is the worst experience of support ever. Please help and remind me!

    DJ Vibe wrote:

    I got a reminder of the support provided from 09:00 Pacific time, and nobody has called me back... What do I do?

    I was troubleshooting my issue is going on 3 weeks and I still have to do the same things again and again, whenever I start with a new technician. It is the worst experience of support ever. Please help and remind me!

    Ask your question here.  I think we're a little better to resolve things that support the customer.  If it's a question around your account, there are some employees from Adobe here who can deal with it.

  • FF has been fast, responsive and reliable. is not so much now

    I used once FF exclusively, it was great! I recommend it to everyone and even install it to people so that they can enjoy it also.
    Then for some reason any (over several years), it has become slower, inflated and would break more frequently, so I changed to a different browser.
    Given that I liked FF, I thought I would give it another go, but instead of an improvement, I think it is seriously degraded, crashing in the first run after installation.
    I'm really sorry for Mozilla, that's a shame.
    You guys have had a hand Director on what the internet should be since the early days, and I'd be happy to support you with your products and recommend once more; But if I can't run it myself immediately after installation, it is almost impossible.
    In this situation I saw simply google.com.au, adobe.com , and learningspot.com.au indicate that the browser completely locked up after loggin, with no indication that he had crushed other than a total lack of response.
    I will say that when I clicked on the X to close FF, it worked, but I see no dump on incident or any other information that might help solve this problem.
    Please understand during my presentation can its negative, it is constructive criticism, and if I had the crash dump, fortunately, I'd send it your way.
    I am pleased to send you the MS System Info dump if it would help at all (57 KB in 7z format).

    Moderator published offensive comments in the title of this thread - see the rules and lines guidelines .

    To see if Firefox saves data from accident and if she did, to share a link here, see the last section of this article: Firefox plant - troubleshoot and prevent assistance fixing crashes.

  • Hello... I m new to this error 13 shows and I need fast response

    Hello... I m at this news and here's some update for windows media player I click Update after the update when I restart the system after that songs do not play but the error is showing the error 13 and I need quick response

    Hi Munawar sultana,

    ·         What is the full error message?

    ·         What is the type of the file that you are not able to play with Windows Media Player (WMP)?

    Given that the problem occurred after the update of Windows you can run restore the system to the point when it was working fine.

     

    How to restore Windows XP to a previous state

    http://support.Microsoft.com/kb/306084

    Let us know if it helps.

  • the question of the overall index was updated

    I have a partitioned table and the local partitioned indexes in 9i. In the past, when I add a new partition, partitioned indexes have become "unusable" so I have to rebuild the index to the "exploitable": State

    ALTER INDEX REBUILD PARTITION myindex TYPE my_partition nologging;

    I just found out that when you use the clause to UPDATE GLOBAL INDEXES, there is no need to rebuild the local index in the underlying table. It seems that updating the GLOBAL INDEX also update local index to the status of "exploitable".

    create tablespace you see

    ALTER TABLE my_table SPLIT PARTITION of VALUES 'TYPE_DEFAULT' ('new') INTO (PARTITION "TYPE_NEW" TABLESPACE "you see", "TYPE_DEFAULT" PARTITION) UPDATE GLOBAL INDEXES;

    I wonder if UPDATE GLOBAL INDEXES also update local indexes as it appears in this case. I thought that the UPDATE GLOBAL INDEXES only updated global index.

    Published by: user7435395 on March 8, 2013 14:33

    Published by: user7435395 on March 8, 2013 14:36

    Published by: user7435395 on March 8, 2013 15:15

    >
    I just found out that when you use the clause to UPDATE GLOBAL INDEXES, there is no need to rebuild the local index in the underlying table. It seems that updating the GLOBAL INDEX also update local index to the status of "exploitable".
    >
    Interesting! Can you post the DDL that you use for the table and index, so we can try to reproduce it?

    This seems to contradict what said documentation, but that would not be something new.

    See "Split of Partitions" in the Guide DBA 9i
    http://docs.Oracle.com/CD/B10501_01/server.920/a96521/partiti.htm#6736
    >
    Behavior of the index

    Regular (TAS)
    Oracle UNUSABLE brand new partitions (there are two) in each local index.

    Unless you specify GLOBAL INDEXES to UPDATE, all index global, or all partitions of global partitioned indexes are marked UNUSABLE and must be rebuilt
    >
    Also you not "add" a partition you split one and creates two new partitions, which both can have data. These two partitions of the local index must be rebuilt.

    When you "add" a partition it lacks all the data so there is not need to rebuild the local index for this 'new' partition.

  • overall index using partitioning of the interval.

    Can we have an index that is partitioned across the world using range partitioning on the number field in the database table.

    >
    Can we have an index that is partitioned across the world using range partitioning on the number field in the database table.
    >
    No - a global index cannot be paritioned of the interval.
    You can create a range partitioned or Hash-Partitioned Global index, but it cannot use partitioning interval. The index may be on a table is partitioned apart, but the index itself cannot be partitioned apart.

    See Creation of Partitions in the VLDB and partitioning Guide database
    http://docs.Oracle.com/CD/E18283_01/server.112/e16541/part_admin001.htm#i1006455

    and the CREATE INDEX SQL language doc section
    http://docs.Oracle.com/CD/E11882_01/server.112/e26088/statements_5012.htm#i2062403

  • Compaq presario cq62: upgrade of Ram "NEED FAST RESPONSE."

    Hi, in question.

    Can I combine Rams? Now I have a stick of ram "Centon 2 GB PC2-6400 DDR2-800 800 MHz.

    but my computer laptop support 4 gb so I need another, so can you tell me is this another baton is going to work?

    '' Crucial 2GB, DDR2 PC2-6400, DDR2-800 ''?

    I thought that I said. Yes it will work.

  • Laptop Hard Drive 3.5 SATA hard disk (please fast response)

    I have a major problem. There is a HP Compaq DC7600 SFF on Ebay that ive been watching for a while. I have DDR2 RAM for her and a 60 GB laptop hard drive. Im going to be to put Windows Xp on the computer. The problem is to a SATA 3.5 hard drive. Is there an adapter for it? I'll need to get a new drive?

    Here is the link: http://www.ebay.com/itm/HP-DC7600-SFF-Pentium-4-HT-2-8Ghz-512Mb-No-HD-/271103764174?_trksid=p2047675.m1850&_trkparms=aid%3D222002%26algo%3DSIC.FIT%26ao%3D1%26asc%3D11%26meid%3D3652700529279890050%26pid%3D100011%26prg%3D1005%26rk%3D1%26sd%3D280958745061%26
    Help, please

    Hi Ryan,

    Thanks for posting in the Microsoft Community.

    I suggest using your favorite search engine and look for adapter that will allow you to do. You can also contact the manufacturer and check the availability of these adapters.

    Hope this information is helpful and let us know if you need help with Windows. We will be happy to help you.

  • How can I provide a response from hotmail spam viagra I used... I changed my password and deleted my address book and the problem stopped... don't know not which one solved the orible, but it worked.

    solution to spam Viagra

    I changed my hotmail password and took care of the problem.

  • BlackBerry Smartphones quick response user first time

    I have a blackberry 8800, I tried 4 different sim cards and the display on my phone says SIM ISERT CARD... does that mean that my phone is lock?  If not how do you know if its lock... Sorry blackberry user first time

    Almost all carriers have BlackBerry devices locked through their network. Probably, in your case, 8700 is locked with TIM. You must unlock your device network.

    Try the following sites you can collect release-

    1. GSM phone source
    2. Unloack BlackBerry
  • New MBP and two raid 0 drives 4 GB 7200 rpm or replace a small SSD

    Hello

    I apologize if this in the forum somewhere.  I'm looking for 4 hours through the posts and cannot find an answer to this question.

    I ordered a new Macbook Pro products listed below.

    MacBook Pro 15 inch with Retina display

    • 2.8 GHz Quad - core Intel Core i7, Turbo Boost up to 4.0 GHz
    • 16 GB 1600 MHz SDRAM DDR3L
    • Storage 1 TB PCIe Flash
    • Graphics card Intel Iris Pro + AMD Radeon R9 M370X with 2 GB of GDDR5 memory


    In my research, it seems that the best configuration will add two additional discs.


    I want to purchase the LaCie 9000601 robust Raid Thunderbolt.  Its configured as a RAID 0 4 GB (2x2gb configured raid 0) read and write speed is rated at 240 MB/sec.  For the third disc is there going to be any speed up if I did for one SSD drive with read and write speeds above 400 MB/s?  If I won't see any significant speed I would make the 3rd disc an additional LaCie.


    So the two configurations:

    #1

    C: 1 PCIe storage to Flash

    D: drive for raid 0 4 GB lightning

    E: drive for raid 0 4 GB lightning


    #2

    C: 1 PCIe storage to Flash

    D: drive for raid 0 4 GB lightning

    E: 500 MB SSD with reading and writing of at least 400 MB/s


    I will mainly be 4K video editing from a 3 ghost drone.  Most of the videos will need only some basic edition/transitions and possibly a color correction.  I would like to modify in real time or near it and have always render as low as possible. I will be editing in Premiere Pro CS6 and could switch to CC.


    I appreciate all the comments.  If it not is not much of a difference, I would #1 configuration where it provides an extra 3.5 GB or storage and is cheaper at the same time.


    Thanks for your comments and help.


    Gary

    It seems that the ghost 3 mp4/h264 files? These files will be slightly compact vs other formats, reducing the demand placed on the disc. LaCie rugged raid should operate correctly for the media to hold, and then you can set the project on the C: drive cache. If you work on small projects, you will be able to store everything on the flash disk and the backup to an external drive. If you want to keep on an external drive media, the DSS will provide faster response times to access the various elements when editing.

  • nxGetProperty sometimes takes a long time

    Hi all

    I use a 9862 (XNET CAN interface) in a 9068 (cRIO controller).

    In my software (c / c ++ in eclipse), I have a session for each ID CAN (currently 4 out, 9 in.).

    I use the FrameInQueued mode with queue messages, CAN to incoming size 1.

    Then I'm just checking if there 'something' again in the loop in real time using nxGetProperty (session, nxPropSession_NumPend,...)

    Most of the time it works fine, but sometimes (distance approx. 10 s), this feature needs about 7-8 MS (once a line) that is much too much, because my loop has only 10 ms and there is much more to do in a loop.

    My app sends outgoing messages CAN by using FrameOutSinglePoint in the same loop.

    There is no thread using xnet functions in my application.

    Any ideas for the reason?

    How can I get rid of this behavior?

    Thanks in advance for your answers,

    Jens

    Hello

    Take a look at this:

    Getting started with the API OR-XNET for LabVIEW - National Instruments
    http://www.NI.com/white-paper/12375/en/#toc4

    ...

    In NOR-XNET, session for e/s single point modes are designed for use in loops of high priority. This applies to all four modes of single point: input, output, signal or framework. XNET Read.vi and XNET Write.vi provide fast and consistent execution times, and they avoid access to shared resources, such as the memory manager.

    Modes other than single point session all queues to use it to store data. You can use patterns from session queue in a loop of the high level of priority, these modes of use a variable amount of data for each read/write. It takes a variable amount of time to process the data, which can introduce jitter to the loop. When you use the modes in queue, measure the performance of your code in the loop to ensure that it meets your requirements even when bus traffic is

    ...

    If you get only in single point IO a timing loop deterministic and reliable,

    Concerning

    René

  • When Oracle make Index Fast full Scan?

    Hi all

    In this case, Oracle index full scan. Please give the solution with at least two example.

    Thank you

    Oops,

    Spleen it was INDEX FAST FULL SCAN. Then index must be greater:

    SQL > create table tbl in select * from dba_objects;

    Table created.

    SQL > alter table tbl
    2 edit object_name not null;

    Modified table.

    SQL > create index tbl_idx1 on tbl (object_name);

    The index is created.

    SQL > explain the plan for
    2. Select object_name in tbl;

    He explained.

    SQL > select * from table (dbms_xplan.display);

    PLAN_TABLE_OUTPUT
    ----------------------------------------------------------------------------------
    Hash value of plan: 2675010997

    ---------------------------------------------------------------------------------
    | ID | Operation | Name | Lines | Bytes | Cost (% CPU). Time |
    ---------------------------------------------------------------------------------
    |   0 | SELECT STATEMENT |          | 69022 |  4448K |   109 (1) | 00:00:02 |
    |   1.  FULL RESTRICTED INDEX SCAN FAST | TBL_IDX1 | 69022 |  4448K |   109 (1) | 00:00:02 |
    ---------------------------------------------------------------------------------

    Note
    -----

    PLAN_TABLE_OUTPUT
    ----------------------------------------------------------------------------------
    -dynamic sample used for this survey (level = 2)

    12 selected lines.

    SQL >

    SY.

  • Get the response time more with First_Rows Hint.

    Hello
    I use 10.2.0.1.0 oracle version. I have a sql query that gives performance with cutting-edge FIRST_ROWS problem.     I expect the best response time with suspicion of "FIRST_ROWS (5)", but his is the worst, with use of a different set of the index, which is local to the partition. Please, help me to understand, the reason behind this change in negative execution path?
         First query gives all the ~3488 rows within ~1 minutes but the query with HINT is taking ~15 minutes for providing initial few rows itself. 
    For second one i am not able to get the exact and estimated cardinality stats , as it was taking lot of time for completion, so providing Autotrace plan only.
         
    Main Query:
    Published by: 930254 on October 15, 2012 04:55

    930254 wrote:
    Yes, Jonathan, in fact in the first case, i 'I' table is being analyzed using an overall index, but suspicion FIRST_ROW sound using the index that is local to the partition. resulting in the digitization of all partitions of 448. I think it's causing bottleneck. Is there something like: FIRST_ROW suspicion that affect this type of systematic index scan?

    In the first case the optimizer has unnested subquery of REACTION and used to bring to the table, I, and that's what dictated the choice of index.

    In the case of first_rows (5) decided that the range index scan will take adequate data if some time he chose a different index - running subqueries in the REACTION as a subquery for filter on each line. But it is the estimate of how long it will find adequate data (and how much time he will have to run the subquery to eliminate unnecessary data) does not.

    Concerning
    Jonathan Lewis

  • Indexing of binary XML data exposed by using a relational view

    Hello

    I would like a forefinger XMLType columns. 11 GR 2, it is possible, but in paragraph 12.1?

    I give you my script to test.

    Thanks in advance

    -Server Oracle 12 c Enterprise Edition Release 12.1.0.1.0 - 64 bit Production

    CREATE TABLE t_col_xml

    (nom_doc VARCHAR2 (30) PRIMARY KEY, col_xml XMLType)

    XMLTYPE AS XML BINARY col_xml STORE;

    INSERT INTO t_col_xml (nom_doc, col_xml) VALUES

    ("compagnie.xml",

    ((XMLType.CREATEXML)

    ' <? XML version = "1.0" encoding = "UTF-8"? >

    < date_crea = "2010-08-30" company >

    < comp > AB < / comp >

    < driver >

    < patent pilot = "PL - 1" >

    < name > Benoit < / name >

    < name > Sarda < / name >

    < salary > 4000.20 < / salary >

    < / driver >

    < patent pilot = "PL2" >

    < name > Romaric < / name >

    < name > Benech < / name >

    < salary > 5000.40 < / salary >

    < / driver >

    < / drivers >

    Air Blagnac < nomComp > < / nomComp >

    (((< / company > ')));

    CREATE or replace VIEW comp_detail_vue AS

    SELECT a.comp, b.*

    OF t_col_xml.

    XMLTABLE ('/ company ' ADOPTION col_xml)

    Comp VARCHAR2 COLUMNS (6) PATH "comp."

    PILS XMLType PATH ' pilot/pilot'),

    XMLTABLE ('pilot' ADOPTION a.pils

    Patent of VARCHAR2 COLUMNS (6) "@brevet."

    prepil PATH VARCHAR2 (20) "first name",

    nompil PATH VARCHAR2 (20) "name."

    b salary NUMBER PATH "wages");

    Col nompil FORMAT A12

    ALTER SESSION SET nls_numeric_characters = ".";

    SELECT * FROM comp_detail_vue;

    /*

    MODEL OF PATENT PREPIL NOMPIL SALARY

    ------ ------ -------------------- ------------ ----------

    AB-1 PL Benoit Sarda 4000.2

    AB PL2 Romaric Benech 5000.4

    */

    -That is the problem

    SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

    FROM DUAL;

    /*

    ERROR:

    ORA-06502: PL/SQL: error Numurique or error on a value: to wildcard cha¯ne pad printing too

    small

    ORA-06512: O "XDB. DBMS_XMLSTORAGE_MANAGE', line 2667

    ORA-06512: O "XDB. DBMS_XMLSTORAGE_MANAGE', line 2969

    */

    Hmm..., same result in 12.1.0.2.0. Overall it seems to be a bug although I have only seen 'getSIDXDefFromView', although always in the XMLDB Developer's Guide, eliminated in the packages (http://docs.oracle.com/database/121/ARPLS/d_xmlstorage_man.htm#ARPLS73588) reference.

    That said perhaps what follows is to help you to do it manually:

    DROP TABLE t_col_xml is serving;

    CREATE TABLE t_col_xml

    (nom_doc VARCHAR2 (30) PRIMARY KEY, col_xml XMLType)

    XMLTYPE AS XML BINARY col_xml STORE;

    INSERT INTO t_col_xml (nom_doc, col_xml) VALUES

    ("compagnie.xml",

    ((XMLType.CREATEXML)

    '

    AB

    Benoit

    SARDA

    4000.20

    Romaric

    Benech

    5000.40

    Air Blagnac

    ') ) );

    CREATE or replace VIEW comp_detail_vue AS

    SELECT a.comp, b.brevet, b.prepil, b.nompil, b.salaire

    OF t_col_xml.

    XMLTABLE ('/ company ' ADOPTION col_xml)

    Comp VARCHAR2 COLUMNS (6) PATH "comp."

    PILS XMLType PATH ' pilot/pilot'),

    XMLTABLE ('pilot' ADOPTION a.pils

    Patent of VARCHAR2 COLUMNS (6) "@brevet."

    prepil PATH VARCHAR2 (20) "first name",

    nompil PATH VARCHAR2 (20) "name."

    b salary NUMBER PATH "wages");

    Col nompil FORMAT A12

    the value of 10000 long

    ' ALTER SESSION SET nls_numeric_characters =".";

    SELECT * FROM comp_detail_vue;

    SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

    FROM DUAL;

    /*

    CALL DBMS_XMLINDEX.dropParameter ('company');

    CALL DBMS_XMLINDEX.registerParameter)

    'company. '

    DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE'));

    */

    CREATE INDEX i_col_xml

    ON t_col_xml (col_xml)

    INDEXTYPE IS "XDB". "" XMLINDEX.

    PARAMETERS ('GROUP compagnie_group

    XMLTABLE comp_sxi

    (tablespace users)

    "/ company"

    COLUMNS

    model VARCHAR2 (6) PATH "mock-up",.

    PILS XMLType "drivers/driver" VIRTUAL PATH

    XMLTABLE comp_pils_sxi

    (tablespace users)

    "pilot" PASSER-BY pils

    COLUMNS

    patent VARCHAR2 (6) PATH "@brevet".

    prepil VARCHAR2 (20) PATH "first name",

    nompil VARCHAR2 (20) PATH "name",

    salary NUMBER PATH 'salary'

    ');

    explain plan for

    SELECT * FROM comp_detail_vue;

    SELECT * FROM TABLE (dbms_xplan.display);

    --------------------

    OUTPUT

    --------------------

    table deleted T_COL_XML.

    table created T_COL_XML.

    1 inserted rows.

    view COMP_DETAIL_VUE created.

    session the changed VALUE.

    MODEL OF PATENT PREPIL NOMPIL SALARY

    ------ ------ -------------------- ------------ ----------

    AB-1 PL Benoit Sarda 4000.2

    AB PL2 Romaric Benech 5000.4

    Error at startup to the line: 48 in command.

    SELECT DBMS_XMLSTORAGE_MANAGE.getSIDXDefFromView ('COMP_DETAIL_VUE')

    OF THE DOUBLE

    Error report-

    SQL error: ORA-06502: PL/SQL: digital or value error: character string buffer too small

    ORA-06512: at "XDB". DBMS_XMLSTORAGE_MANAGE', line 2667

    ORA-06512: at "XDB". DBMS_XMLSTORAGE_MANAGE', line 2969

    06502 00000 - "PL/SQL: digital error or the value of %s.

    * Cause:

    * Action:

    index created I_COL_XML.

    plan FOR successful.

    PLAN_TABLE_OUTPUT

    -----------------------------------------------------------------------------------------------------------------

    Hash value of plan: 2425154757

    -----------------------------------------------------------------------------------------------------------------

    | ID | Operation | Name                   | Lines | Bytes | Cost (% CPU). Time |

    -----------------------------------------------------------------------------------------------------------------

    |   0 | SELECT STATEMENT |                        |     1.  1075 |     2 (0) | 00:00:01 |

    |   1.  NESTED LOOPS |                        |     1.  1075 |     2 (0) | 00:00:01 |

    |   2.   NESTED LOOPS |                        |     2.  1075 |     2 (0) | 00:00:01 |

    |   3.    NESTED LOOPS |                        |     1.   531.     2 (0) | 00:00:01 |

    |   4.     FULL RESTRICTED INDEX SCAN FAST | SYS_C009751 |     1.    12.     2 (0) | 00:00:01 |

    |   5.     TABLE ACCESS BY ROWID INDEX BATCH | COMP_SXI |     1.   519.     0 (0) | 00:00:01 |

    |*  6 |      INDEX RANGE SCAN | SYS91605_91606_RID_IDX |     1.       |     0 (0) | 00:00:01 |

    |*  7 |    INDEX RANGE SCAN | SYS91605_91609_PKY_IDX |     2.       |     0 (0) | 00:00:01 |

    |   8.   TABLE ACCESS BY INDEX ROWID | COMP_PILS_SXI |     2.  1088.     0 (0) | 00:00:01 |

    -----------------------------------------------------------------------------------------------------------------

    Information of predicates (identified by the operation identity card):

    ---------------------------------------------------

    6 - access ("T_COL_XML". ROWID = "SYS_SXI_2." ("' RID ')

    7 - access("SYS_SXI_2".") KEY '= 'SYS_SXI_3'.' PKEY")

    Note

    -----

    -the dynamic statistics used: dynamic sampling (level = 2)

    25 selected lines

Maybe you are looking for