Index of Linguistics cannot SCAN ONE / RANGE 10.2, no work around?

Hello

Christian Antognini, in his book Troubleshooting Oracle Performance, when talking about clues language said:

"Until the database Oracle 10 g Release 2, another limitation is that in order to apply a LIKE
operator, the database engine is not able to take advantage of the linguistic clues. In other words, a
the full index scan or full table scan can be avoided. This limitation is no longer available as of
Oracle Database 11 g."

But it cannot use scan limited unique index also, it seems. This is my test scenario:

Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64 bit Production
With partitioning, OLAP and Data Mining options
SQL> create table test as select to_char(rownum) x,to_char(mod(rownum,1000)) y, cast(' ' as char(100)) z from dual connect by level <= 100000;

Tabla creada.

SQL> exec dbms_stats.gather_table_stats(ownname=>user, tabname=>'TEST', method_opt=>'for all columns size 1', cascade=>true);

Procedimiento PL/SQL terminado correctamente.

SQL> CREATE unique INDEX test_idx ON test(NLSSORT(x,'nls_sort=spanish'));

Índice creado.

SQL> CREATE INDEX test_idx2 ON test(NLSSORT(y,'nls_sort=spanish'));

Índice creado.

SQL> SELECT x FROM test WHERE x = '123';
X
----------------------------------------
123

SQL> @plan
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID  5fbncq099nf9g, child number 0
-------------------------------------
SELECT x FROM test WHERE x = '123'

Plan hash value: 217508114

-------------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |
-------------------------------------------------------------------------------------------------
|*  1 |  TABLE ACCESS FULL| TEST |      1 |      1 |   374   (4)|      1 |00:00:00.04 |    1619 |
-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("X"='123')


17 filas seleccionadas.

SQL> SELECT y FROM test WHERE y = '123' order by y;
Y
----------------------------------------
123
.......
.......
123

100 filas seleccionadas.

SQL> @plan
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
SQL_ID  85mu6hvnrvd49, child number 0
-------------------------------------
SELECT y FROM test WHERE y = '123' order by y

Plan hash value: 217508114

-------------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |
-------------------------------------------------------------------------------------------------
|*  1 |  TABLE ACCESS FULL| TEST |      1 |    100 |   375   (4)|    100 |00:00:00.04 |    1625 |
-------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("Y"='123')


17 filas seleccionadas.

SQL> SELECT /*+index(test TEST_IDX) */ x FROM test WHERE x = '123';
X
----------------------------------------
123

SQL> @plan
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------
SQL_ID  1w53svu82whqn, child number 0
-------------------------------------
SELECT /*+index(test TEST_IDX) */ x FROM test WHERE x = '123'

Plan hash value: 4153930100

---------------------------------------------------------------------------------------------------------------
| Id  | Operation                   | Name     | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |
---------------------------------------------------------------------------------------------------------------
|*  1 |  TABLE ACCESS BY INDEX ROWID| TEST     |      1 |      1 | 20755   (1)|      1 |00:00:00.30 |   20683 |
|   2 |   INDEX FULL SCAN           | TEST_IDX |      1 |    100K|   328   (3)|    100K|00:00:00.01 |     320 |
---------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("X"='123')


18 filas seleccionadas.

SQL> SELECT /*+index(test TEST_IDX2) */ y FROM test WHERE y = '123';
Y
----------------------------------------
123
.......
.......
123

100 filas seleccionadas.

SQL> @plan
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------------------------------------------------------
SQL_ID  37yz5ufq7a3b4, child number 0
-------------------------------------
SELECT /*+index(test TEST_IDX2) */ y FROM test WHERE y = '123'

Plan hash value: 34309412

----------------------------------------------------------------------------------------------------------------
| Id  | Operation                   | Name      | Starts | E-Rows | Cost (%CPU)| A-Rows |   A-Time   | Buffers |
----------------------------------------------------------------------------------------------------------------
|*  1 |  TABLE ACCESS BY INDEX ROWID| TEST      |      1 |    100 |   100K  (1)|    100 |00:00:00.71 |     100K|
|   2 |   INDEX FULL SCAN           | TEST_IDX2 |      1 |    100K|   286   (4)|    100K|00:00:00.10 |     284 |
----------------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

   1 - filter("Y"='123')


18 filas seleccionadas.
In the test, you can see that oracle does not use the indexes without suspicion. The reason is that the cost of the plan with FULL SCAN INDEX is higher.

Like Christian said he does not use RANGE SCAN, but it does not use UNIQUE INDEX SCAN also. Does anyone know the bug/Pals in Metalink on this problem? I can't find. No work around?

Thank you very much

Joaquin Gonzalez

Hi Joaquin

No, the reason is that you have not set the settings nls necessary to perform a linguistic operation rather than the binary search operation by default.

Run:

ALTER session set nls_comp = linguistic;

ALTER session set nls_sort = Spanish;

and try again...

See you soon

Richard Foote
http://richardfoote.WordPress.com/

Tags: Database

Similar Questions

  • HP Photosmart all-in-One D110a: Solution Center says disconnected printer, can still print documents, but cannot scan

    No problems before the upgrade windows 10. Solution Center says offline wireless printer but I can still print it. Works on windows 7 without any problem for years, has been working for 9/2015 when I upgraded to W10 and the uninstall update KB3132372. Stopped working today. Cannot scan, but the network is in place. Rebooted everything several times. No recent upgrades or software changes.

    Hi @mikealpha,

    Because there was a registry error in your installation, you will need to uninstall and reinstall the printer software. Below, I've posted some links to documents that offer instructions on how to uninstall, and then reinstall the HP software. Please try all the steps in order and get back to me with the results.

    HP printers - uninstalling the software of the printer (Windows)

    HP printers - Download and install the printer driver and software Via USB

    If it helps, will testify of my answer by pressing the 'thumbs up' below, or click on the button "Accept as Solution" if I helped you reach a solution.

    I hope this helps and have a nice day.

  • Cannot scan computer with J611 of all-in-one HP Deskjet 3050 a

    I use WIndows 7.

    I can scan from the all-in-one HP Deskjet 3050 a J611 assistance from the control panel.

    I was able to run a scan of the computer. But now when I select the icon on the desktop to my all-in-one HP Deskjet 3050 a J611, I see more scan options.

    Shane,

    I connected with a USB cable and everything works now. It is not convenient, but it's a solution. It's still a mystery as to why he's working for a few months and then suddenly stopped working.

    In any case, thanks for the follow up several times and find a work around.

    I'll provide Bravo and mark this thread as provided solution!

  • cannot scan

    cannot scan.  error message reads OCR application is not installed on the computer. AIO officejet 8600 windows xp

    To resolve this error message, put the installation CD and run the installation of the software.

    In the first screens of the installation, there is one that says "Install software", then check to see if theres a checkmark on I.R.I.S. OCR software

    Then continue with the installation until the end.

    Now, the analysis should work OK.

    Kind regards

    * Click the stars KUDOS to say thanks

    * also click on the Solution button if your question is answered.

  • everything about will print but gives the warning message that it cannot scan, copies or faxes

    The all-in-one printer is only a month after the warranty and has suddenly stopped working. It can print but when trying to now the scanner displays a message warning saying that it cannot scan copies or faxes. Can anyone help? I don't want to pay the amount of $25 per phone call to hp asking them to help in case they cannot correct by phone.

    Thank you

    Hey carlya,

    Wanted to check on how was the question. I also recommend a tool of diagnosis provided by HP, called HP print and Scan doctor. If you have not done so, then I suggest you download and run this tool.

    This tool can be found by clicking here.

    I would like to know how this happens.

  • 5640 envy: Envy 5640-can we print but cannot scan

    Hello

    I can print but cannot scan. I restarted it printer and pc, plug in the printer and the computer, the HP scan doctor and did the updates. Scanning HP doctor break WIA Scan this part and not finished troubleshooting.

    How can I solve this? Thank you.

    Hello

    Thank you for using the forum.  You will need to install the full features printing software to scan.

    You have downloaded and installed the software features FULL?

    Here "link for your convenience;

    http://support.HP.com/us-en/drivers/selfservice/HP-envy-5640-e-all-in-one-printer-series/6583033/model/6583034#Z7_3054ICK0K8UDA0AQC11TA930C7

    Please select the correct operating system and download the FULL features software.

    We recommend that you uninstall the current software before you reinstall the downloaded software.

    You can try using the Auto Connect Wireless HP if your want a wireless connection of your computer to your printer.

    You will need restore your network wireless to factory default using the Auto Connect Wireless HP.

    There are the following videos very useful for wireless setup.

    Restore the printer network settings

    https://goo.GL/9fyrGS

    Setting up the printer using HP Auto Connect Wireless wireless

    https://goo.GL/oBY6AJ

    Let us know how it turns out.

    Thank you.

  • HP 5520: Cannot scan multiple pages with 5520 Scanner HP on Mac with Yosemite

    Hello, I am unable to scan several pages using my HP 5520 on my new iMac with Yosemite. I can scan only one page. The answers solved on this page are old and I can't make them work. Thanks a lot for your help!

    Hi @goldenm,

    Welcome to the HP Forums!

    I understand that you cannot scan multiple pages with your HP Photosmart 5520, on Mac OS X 10.10 Yosemite. I'm happy to help you!

    What happens when you try to scan several pages? Do you get any error messages?

    In the meantime, try the following steps:

    How to scan multiple pages into a single file with HP Scan?

    Load the document and use HP Scan to scan and save as a file of several page.
  • Incompatibility of printer Kodak 3250 reviews and cannot scan pictures

    Tite Originla: programs compatibility Application Applications App Apps game games Legacy Crash crashes Hang hangs

    I am running Windows 7 and a Kodak 3250 printer that was working fine until recently. I get a finding of incompatibility and cannot scan pictures.

    Hello

    · What is the exact error message that you receive with error code if any?

    1. I suggest you to run the printer Troubleshooter and check if it helps. Reference link: open the printer Troubleshooter: http://windows.microsoft.com/en-US/windows7/Open-the-Printer-troubleshooter

    2 remove the printer drivers and reinstall the drivers. Follow the steps below:

    a. click on start

    b. type cmd in the start search

    c. right-click on the option of cmd.exe and select run as administrator

    d. type: printui/s/T2

    e. opens the printer server properties page

    f. press CTRL + mouse click, and then select all the printer drivers you wish to uninstall

    g. Select Delete

    Links to install the drivers:

    KODAK all-in - One Printer Home Center software (including drivers) - WINDOWS operating systems: http://support.en.kodak.com/app/answers/detail/a_id/17138/selected/true

    KODAK ESP 3250 all-in - One Printer Firmware - WINDOWS operating systems: http://support.en.kodak.com/app/answers/detail/a_id/17438/related/1/selected/true

  • CBO: full instead of bitmap index use, why table scan?

    I have a query in which it is clearly benefitial to use the bitmap index, rather oracle goes for the full table scan. Could you please shed some light on this? Because even a hint does not help, I guess that something prevents oracle (11.1.0.7.0) to use it in a sort of range index scan pass.

    installation program:
    create table test_distance (
    x_display number,
    y_display number,
    x_rough number(5,2) as (trunc(x_display,2)),
    y_rough number(5,2) as (trunc(y_display,2)));
    
    insert into test_distance (x_display,y_display) 
    (select dbms_random.value(-180,180), dbms_random.value(-90,90) from dual connect by level < 200000);
    
    create bitmap index test_bm_xrough on test_distance(x_rough);
    create bitmap index test_bm_yrough on test_distance(y_rough);
    
    create or replace function  western_bbox_longitude(x binary_double, y binary_double, radius binary_double) return number
    is
    begin
      --simplified
     return x - 0.0001*radius;
    end;
    /
    
    exec dbms_stats.gather_table_stats(user,'TEST_DISTANCE',cascade=>true,estimate_percent=>100);
    several select statements:
    --remember x and y values and use them in the subsequent queries.
    select * from test_distance where rownum = 1;
    
    alter session set statistics_level = all;
    
    --no bind variable, no function call -> proper plan
    select * from test_distance where x_rough = 16.14 and y_rough = -35.53;
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    
    --with bind variable, no function call -> still proper plan
    select * from test_distance where x_rough = :xin and y_rough = :yin;
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    
    --using between, bind variable, no function call -> proper plan
    select * from test_distance where x_rough between :xin-0.01 and :xin and y_rough between :yin-0.01 and :yin;
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    
    
    --full table scan, why?
    select td.*,
    trunc(western_bbox_longitude(:xin,:yin,:radius),2)
    from test_distance td 
    where x_rough = trunc(
    western_bbox_longitude(:xin,:yin,:radius),2);
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    
    --forcing oracle to use the index results in bitmap index full instead of range scan, why?
    select /*+ index( td test_bm_xrough) */ td.*,
    trunc(western_bbox_longitude(:xin,:yin,:radius),2)
    from test_distance td 
    where x_rough = trunc(
    western_bbox_longitude(:xin,:yin,:radius),2);
    select * from table(dbms_xplan.display_cursor(null,null,'ALLSTATS LAST'));
    
    --guessing it might be related to the selectivity of the function doesn't change the plan either
    associate statistics with functions western_bbox_longitude default selectivity 0.001;

    Ah sorry, I somehow read the wrong line in your initial statement where it between the function has been used.

    Yes it is possible that the selectivity of the function plays a role here. More likely may be the order of execution for the undeterministic functions is then different for literals. However, you can try to work around this problem by using a few different approaches.

    encapsulate the function inside a double subseelct

    select /*+ index( td test_bm_xrough) */ td.*,
       (select trunc(western_bbox_longitude(:xin,:yin,:radius),2))
    from test_distance td
    where x_rough = (select trunc(western_bbox_longitude(:xin,:yin,:radius),2) from dual);
    

    This should allow to cache the result of the function to a certain extent. Otherwise, the result of the function may be recalculated for each row in the test_distance table.

    The same can be achieved with a WITH clause
    not tested

    with wboxlong as (select trunc(western_bbox_longitude(:xin,:yin,:radius),2) xrough from dual)
    select /*+ index( td test_bm_xrough) */ td.*,
       x.xrough
    from test_distance td
    join wboxlong x on td.x_rough = x.xrough
    

    Also note that your tip worked. Oracle uses the bitmap indexes to access the data. Index indicator indicates to the CBO to use this index if possible, but is not on the path. If you want a different plan, you can try to apply also the path combined with a suspicion as NO_INDEX_FFS (http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements006.htm#SQLRF50413).

    Published by: Sven w. on January 3, 2011 18:57

  • Cannot scan to the computer. Photosmart 6510

    I have just purchase a photosmart 6510 and I cannot scan to the computer.  The printer tells me that I need to activate this via the printer software.  I know that I have installed all the software from the disc supplied.

    I can't find where I have activate the scan of the computer on my laptop.  Support information tells me to click the icon for the printer to my desktop, I do not have!  I tried going through the control panel and impossible to find something there.

    I go in the HP folder in my Start menu and click on scan HP that I get the following message "the machine HP photosmart 6510 series is not found".  I don't have a problem with printing at all.

    Tried to start printing and scanning of doctor and who did not make a difference. (In fact, the scan option came not on it).

    How can I fix this please?  I'm running Windows Vista Home premium.

    Hello.  Thanks for your reply.

    I've sorted really the problem now.  But let me explain what it was.

    I tried tool doctor who recommended you after browsing these forums, without success.  In fact, when I ran the scanner, he told me that he had no problem with printing, but there was no mention of the scanning anywhere.

    In fact, I uninstalled all HP software, removed the printer from my control panel.  Then reinstalled the software from the disc and then installed the printer again (I did things the opposite of the front walkway).  And the scanner function now works.

  • Photosmart c7180 cannot scan any computer file except C:\Users...etc... \Scans.

    New desktop computer. New OS than Windows 7, 64 bit. Office Enterprise 2007. Software loaded new Photosmart c7100 CD purchased from HP as directed.

    Photosmart c7180 cannot scan any computer file except C:\Users...etc... \Scans. I want to scan to E:\

    Nothing wrong with the scanned image. No error message.

    Found. Settings, scan settings, scan to... Configuration, settings button, buttons search for the solution Center, manage shortcuts scan... and then create new shortcuts in the folder of your choice!
    How bypassed can you get?

  • Book of Mac: cannot scan more.

    I have a C4680. Cannot scan more. What could be the problem? Then I tried to download a HP drive, thinking that he could solve the problem. The display shows: click on 'Download' to start the download. But where is the button "Download"?

    Thank you.

    Hi @Sky1 ,

    Welcome to the HP Forums!

    I see that you can not scan with your HP Photosmart c4680, on Mac OS X 10.10. I'm happy to help you!

    For this printer on Mac OS X 10.10 it there's no full feature software and drivers from HP. Only a generic driver that is built into the operating system, as described in this guide, HP printers - install Mac printer driver using Apple Software Update.

    To scan, you will want to go through this post, Re: iMac OS X 10.9.3 Scan for iMac driver for HP OfficeJet Pro 8500 a A910a does not appear to be, by my colleague @Sunshyn2005. Even if this post is for a different printer and operating system, it will always apply to your situation.

    I hope this helps!

  • HP Photosmart D110 - cannot scan

    Just bought the HP Photosmart D110 yesterday and cannot scan.  I'm on a Mac (OS 10.6.4) and whenever I try to scan something, I get the following message:

    Hi all

    Looks like you have either a conflict between the old and the new HP software, or a corrupted installation of the Hp software.

    We can remedy easily enough.

    First, go here and download the latest version of the HP software on your desktop.

    Then we'll run the cleaning brush to remove all software that has been installed HP.

    To run the scrubber,

    Go to Applications/library/Hewlett Packard / click Uninstall HP

    Click on continue

    Highlight your device in the left pane

    Hold down the Ctrl and Opt, as well as Apple and click on uninstall

    There will be a pop up that asks if you are sure you want to uninstall all hp software.  (At this point, if you continue, all HP printers you have installed will need to be reinstalled, this is why we do not run this thing all the time)

    Click on continue

    Let the full scrubber .

    Then start the HP software, you just download and follow throughout the installation procedure

    the operating system can find updates and others. If it asks you if you want to download them, accept you.

    Who should take care of it.

  • LaserJet professional M1217 nf: cannot scan over network with a printer laserjet 1217 on a Mac

    Hello

    My set up:

    Mac with Yosemite

    LaserJet M1217 more wireless

    Description of the problem:

    I can't scan. Preview, the control panel or image capture, I get the same error saying "cannot open a session.

    I have installed and reinstalled the drivers/printer about 100 times.

    I tried to add the printer/scanner like airprint, or with the name of the printer as a proposed post.

    Just what causes the same error.

    I have the 2.0 version of the driver installed right now. Tried with 1.7, same result.

    I can print without problem since my Mac and my iPad.

    Tried it with an ethernet cable and have the same problem in case someone ask.

    I looked all over google and doesn't seem like someone else has the same problem? Many people have problems printing over wireless, but it's ok for me. Is the scan, I can't go to work.

    Pages of HP does not offer any other driver which has of the Yosemite. HP offers no additional program for Mac and scan.

    Don't know what else to try.

    Little help? Anyone?

    Thanks Geminy02,

    Unfortunately, your suggestions did not help, and I have a few comments about them.
    First of all, your suggestion about the router was the problem is quite impossible, as you will need to check if the ports are open only in the case we're talking about two different network segments. If you have your printer and your computer in the same segment you will have problems of ports.
    Second: if I would have chosen IP protocol to add my printer, I wouldn't take the option scan, as you said, which means I could not done any tests that I mentioned in my original post, and I would never have had to the point of getting the error message.
    Thirdly: the drivers that you MENTION for download are exactly the same as you get with yosemite, so, this could help to reinstall the driver, it's kind of a long shot (and yes I tried).

    In fact, I managed to solve my problem by doing a factory reset of the printer, any sign of a printer in my computer, cleaning and reinstall the printer using the airprint driver suggested by yosemite where to find my bounjur printer.

    I tried ro think what could be the reason, or to see all what I had changed, and the only thing I've seen different in the configuration before and after he started to work was the name of the printer. When it did not work my printer was called simply "printer", when he was working he was the full name that comes by default. It would be very strange, that this is the reason, but I just mention it here just in case someone read. I believe that the factory reset was the difficulty, not the configuration itself.

    Just for the other readers, I can confirm that this unit can print and scan over my wiresless and cable network on yosemite, with the help of preview, capture image or scan property in the control panel. It took me several hours to make it work, but it does, and my best friend was all the time the printers web page, where you can change the configuration of the printer.

  • Unable to complete the installation of windows vista, error message "Windows cannot configure one or more system components to install Windows, restart the computer, and restart the installation.

    I'm install windows vista Ultimate edition in my new laptop, but during the installation stage 'completion', the prompt message as "Windows cannot configure one or more system components to install Windows, restart the computer, and restart the installation", but my new laptop was no install any OS before, please help

    tan7655,
    If I read this correctly, you have a portable computer that do not have an operating system on it.  You try to install Vista and get the error.
    You've restarted the Vista installation?  So then you get the same error? If you have tried to install more than once and continue to receive this error, check that the laptop is capable of Vista?  You may need to check with the manufacturer of the laptop to see if it is able to support Vista. Mike Microsoft responds to the technical support engineer
    Visit our Microsoft answers feedback Forum and let us know what you think.

Maybe you are looking for