Multipal indexes on one column
Hi,
I have one table and in that table there are 5 columns. One column has 3 indexes and another column has 2 indexes.
I want to know that if i create more indexes on one column, will performance of that database increase?
Or if i remove the indexes means that if i keep one index on one column, will performance of that database decrease?
Please suggest me what should i do for these indexes?
Thanks in advance.
Anand
Performance is not increased just by adding indexes, it could even degrade if indexes are bad planned.
A candidate column for indexing is the column mentioned on the where clause of a query. Once the candidate columns has been selected, the second filter is how selective it is, if it can be highly selective (ideal case unique values) then it can be indexed, otherwise (uneven distribution or low cardinality) it cannot be indexed by the regular method, on an uneven distribution column statistics have to be gathered; and on the low cardinality a bitmap index is advisable.
There are many other circumstances where an index is not quite advisable, if you query by expression:
where upper(column)
or
where numeric_col = '213'
then you may have surprises finding that index is not being used. There are other tricks like query rewrite or function based index, but instead of going forward an specific statement has to be made on your side specifying concrete circumstances where you want to implement indexes.
~ Madrid.
Similar Messages
-
More than one index for a column.
Hi,
I am trying to create more than one index for a particular column of the table.But oracle does not allow more than one index for a column.
I just want to make sure whether we can add more than one index for a column
and if yes what are the scenarios.
Because as far as i know some database allows more than one index for a single column.You cannot create more than one index for the same column(s).This is not so true Nicolas. Look at following example:
SQL> create index idx_mytest_id on mytest(id);
Index created.
SQL> create index idx_mytest_id_desc on mytest(id desc);
Index created.
SQL> create index idx_fbi_mytest_id_upper on mytest(upper(id));
Index created.
SQL> create index idx_fbi_mytest_id_upper_desc on mytest(upper(id) desc);
Index created.
SQL> create index idx_fbi_mytest_id_lower_id on mytest(lower(id));
Index created.
SQL> create index idx_fbi_mytest_id_lower_id_dsc on mytest(lower(id) desc);
Index created.
SQL> create index idx_fbi_mytest_id_tr_up on mytest(trunc(upper(id)));
Index created.
-- I can still continue but for this example this will be enough
SQL> select index_name from dba_indexes where table_name = 'MYTEST';
INDEX_NAME
IDX_MYTEST_ID
IDX_FBI_MYTEST_ID_UPPER
IDX_MYTEST_ID_DESC
IDX_FBI_MYTEST_ID_UPPER_DESC
IDX_FBI_MYTEST_ID_LOWER_ID
IDX_FBI_MYTEST_ID_LOWER_ID_DSC
IDX_FBI_MYTEST_ID_TR_UP
7 rows selected.You can see 7 indexes for one column (ID) and I could still continue...
So according this test we can say you can't create more than one index for one column (or the same group of columns in case of composite index) with same condition(s).
Message was edited by:
Ivan Kartik
Or simplified: you can't create the same index for same column(s) twice :-) -
Multi-column Index vs One index for each column
Hello everyone,
i have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...
br flagi have one table about 20 000 000 rows, some developers have to generate reports on it and i want to create indexes on this table.
The table has 34 columns, no primary key, no unique keys.
The "where..." clause of the reports usually use 8 columns but some reports uses 8 + some other columns.
can any one help me on what kind of indexes do i have to create?
1. one index for each column used in "where clause"
2. one index for 8 columns and some other indexes for other used columns
3. one index for all columns
or something else etc...What's the version of your data base? what kind of database you have, DWH or OTLP? The answer might depend on the type of database as far as bitmap indexes might suit or might not depending if you are runing DWH or OLTP kind of database
Let me suppose that you are runing OLTP database and you have a where clause with 8 columns.
1) are all those where clause equalities (where col1 = and col2 =) or there are inequalities?
2) could you evaluate the most repetitive columns?
3) could you know the column that could have the best clustering factor (the column which most follow a certain order in the table)
Based on that I would suggest to create one b-tree index having 8 columns (even though that it seems for me to high) this index should follow the following points:
1) put the most repetitive column at the leading edge (and compress the index if necessary)
2) put the columns that are used in equalitity predicate first
3) put the column having the best clustering factor first
The most precise index you have the best access you could gain.
Of course that you have to know that an index access is not always good and a FULL table scan is not always bad.
Best regards
Mohamed Houri
www.hourim.wordpress.com -
Suggestion: Oracle text CONTEXT index on one or more columns ?
Hi,
I'm implementing Oracle text using CONTEXT ..... and would like to ask you for performance suggestion ...
I have a table of Articles .... with columns .. TITLE, SUBTITLE , BODY ...
Now is it better from performance point of view to move all three columns into one dummy column ... with name like FULLTEXT ... and put index on this single column,
and then use CONTAINS(FULLTEXT,'...')>0
Or is it almost the same for oracle if i put indexes on all three columns and then call:
CONTAINS(TITLE,'...')>0 OR CONTAINS(SUBTITLE,'...')>0 OR CONTAINS(BODY,'...')>0
I actually don't care if the result is a match in TITLE OR SUBTITLE OR BODY ....
So if i move into some FULLTEXT column, then i have duplicate data in a article row ... but if i create indexes for each column, than oracle has 2x more to index,optimize and search ... am I wright ?
Table has 1.8mil records ...
Thank you.
Krismackrispi wrote:
Now is it better from performance point of view to move all three columns into one dummy column ... with name like FULLTEXT ... and put index on this single column,
and then use CONTAINS(FULLTEXT,'...')>0What version of Oracle are you on? If 11 then you could use a virtual column to do this, otherwise you'd have to write code to maintain the column which can get messy.
mackrispi wrote:
Or is it almost the same for oracle if i put indexes on all three columns and then call:
CONTAINS(TITLE,'...')>0 OR CONTAINS(SUBTITLE,'...')>0 OR CONTAINS(BODY,'...')>0Benchmark it and find out :)
Another option would be something like this.
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:9455353124561
Were i you, i would try out those 3 approaches and see which meet your performance requirements and weigh that with the ease of implementation and administration. -
Can Verity/Solr index files AND columns from db into one resultset?
Hi,
I have a form where users upload a document and also add some meta data that goes with the document. I currently store the meta data in the db and the actual document on the file system.
How can I use Verity/Solr to index files and columns from a database table so it will return one recordset?
-ws<cfindex type="file"> should do the trick, shouldn't it?
http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7d 04.html
Adam -
Access for update only one column in table?
Hi all,
My need is to grant access for update only one column c1 in table t1.
I guess I should use view, could you please give me some example? Maybe other ideas?Hi,
You can grant privileges on individual columns.
GRANT UPDATE (c1)
ON t1
TO grantee_name;Look up GRANT in the SQL language manual. Annoyingly, in recent editions of the manual, GRANT is not indexed, but it's in alphabetic order with all the other statements:
http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_9013.htm#i2155015 -
How to create a domain index on NCLOB Column
hi all,
My database version is 10.2.0.1.
Any body know how to create a domain index on nclob column.
SQL> alter table test add (nclob1 nclob);
Table altered.
SQL> CREATE INDEX test_nclob ON test (nclob1) indextype is ctxsys.context
2 /
CREATE INDEX test_nclob ON test (nclob1) indextype is ctxsys.context
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-10509: invalid text column: NCLOB1
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 364Regards
SinghAny body know how to create a domain index on nclob columnNot possible per design/documentation:
The column that you specify must be one of the following types: CHAR, VARCHAR, VARCHAR2, BLOB, CLOB, BFILE, XMLType, or URIType.
« -
Is there a way to find out how to get the index of a column?
Hello,
I want to know the index of a column for example the column at the first position in a jtable is 0 so how can i get this index?
for example: the column called "surname" is index 0 but the user can move the column. So the name stays the same but the index of the column changed. I search for a method like
table.getColumnIndex("surname");I think it really depends on what the OP is trying to do. I think the program
below offers up the possible choices pretty well.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableColumnIndexDemo extends JFrame {
private JTable table;
private String[] names = new String[]{ "One", "Two", "Three", "Four", "Five" };
public static void main( String args[] ) {
SwingUtilities.invokeLater( new Runnable() {
public void run() { new TableColumnIndexDemo(); }
public TableColumnIndexDemo() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
DefaultTableModel model = new DefaultTableModel( names, 1 );
table = new JTable( model );
JButton button = new JButton( "Print indices" );
button.addActionListener( new ActionListener() {
public void actionPerformed( ActionEvent e ) {
printIndices();
getContentPane().setLayout( new BorderLayout() );
getContentPane().add( button, BorderLayout.NORTH );
getContentPane().add( new JScrollPane( table ), BorderLayout.CENTER );
getContentPane().add( new JLabel( "Move columns around then print indices" ), BorderLayout.SOUTH );
setSize( 300, 150 );
setVisible( true );
printIndices();
private void printIndices() {
TableColumnModel columnModel = table.getColumnModel();
TableModel model = table.getModel();
StringBuffer sb = new StringBuffer();
System.out.println( "Visible order");
for ( int k = 0; k < columnModel.getColumnCount(); k++ ) {
if ( k > 0 ) sb.append( ", " );
sb.append( k ).append( " " ).append( columnModel.getColumn( k ).getIdentifier() );
System.out.println( sb );
sb = new StringBuffer();
System.out.println( "By name using getColumnIndex(TableModel,name)" );
for( int k = 0; k < names.length; k++) {
if ( k > 0 ) sb.append( ", " );
sb.append( getColumnIndex( model, names[k] ) ).append( " " ).append( names[k] );
System.out.println( sb );
sb = new StringBuffer();
System.out.println( "By name using columnModel.getColumnIndex(name)" );
for( int k = 0; k < names.length; k++) {
if ( k > 0 ) sb.append( ", " );
sb.append( columnModel.getColumnIndex( names[k] ) ).append( " " ).append( names[k] );
System.out.println( sb );
sb = new StringBuffer();
System.out.println( "Model index by visible order");
for ( int k = 0; k < columnModel.getColumnCount(); k++ ) {
if ( k > 0 ) sb.append( ", " );
TableColumn column = columnModel.getColumn( k );
sb.append( column.getModelIndex() ).append( " " ).append( column.getIdentifier() );
System.out.println( sb );
public static int getColumnIndex(TableModel model, String name) {
for(int i = 0; i < model.getColumnCount(); i++) {
if( model.getColumnName(i).equalsIgnoreCase(name) ) {
return i;
return -1;
} -
CREATE INDEX WITH DUPLICATE COLUMN NAME
Hi,
i need to interface our application with an Orale Bridge to CREATE INDEX with duplcate column Name.
For Example
CREATE index NLOT_FOURNLOT_idx ON NLOT(FOURNISSEUR ,NOLOT ,FOURNISSEUR ,NOBLFOUNISSEUR,NOLIGNEBL ,NOLOT ,QTECOLISRECUES ,CODENONQUALITE ,QTECOLISACCEPTE);
CREATE table NLOT(
FOURNISSEUR VARCHAR2(09)
,NOBLFOURNISSEUR VARCHAR2(13)
,NOLIGNEBL VARCHAR2(03)
,NOLOT VARCHAR2(20)
,QTECOLISRECUES VARCHAR2(10)
,CODENONQUALITE VARCHAR2(02)
,QTECOLISACCEPTE VARCHAR2(10)
,NOMBREDECOLISRE VARCHAR2(10)
,NOMBREDECOLISAC VARCHAR2(10)
,FILLER VARCHAR2(1)
,FILLE1 VARCHAR2(1)
,TYPEREFERENCE VARCHAR2(01)
,REFERENC1 VARCHAR2(15)
,CONTROLERECEPTI VARCHAR2(01)
,DATEDEPEREMPTIO VARCHAR2(8)
,CONTROLEPROCHAI VARCHAR2(1)
Thanks
PhilippeWell, you can't do it. ORA-957 is one of those irrevocable errors for which the solution is to remove the duplicate name from the SQL statement.
But, anyway, why do you want to do this? I would guess there's no performance benefit from having the same column indexed twice (of course it's impossible to test this, so it's just my opinion).
Cheers, APC -
How to compare index names and columns from different user?
I am using below query to compare two indexes from 2 different users but even though index name and columns are same... result shows me they are different.. what I am doing wrong? Thanks
WITH t AS
(SELECT COUNT (DISTINCT index_owner || index_name || indexed_cols)
cnt
FROM ( SELECT index_owner,
index_name,
listagg (column_name, ',')
WITHIN GROUP (ORDER BY column_position)
indexed_cols
FROM dba_ind_columns
WHERE index_name='XPKTBL_A'
GROUP BY index_owner, index_name))
SELECT CASE
WHEN cnt > 1 THEN 'Indexes are different'
WHEN cnt = 0 THEN 'Indexes dont exist'
WHEN cnt > 1 THEN 'Indexes are identical'
END
commnt
FROM t
Result:
Indexes are different
but Actually if you check below they are same After when I run this query:
SELECT index_owner,
index_name,
listagg (column_name, ',') WITHIN GROUP (ORDER BY column_position)
indexed_cols
FROM dba_ind_columns
WHERE index_name='XPKTBL_A'
GROUP BY index_owner, index_name;
Result:
Index_owner
Index_name
Index_cols
USER1
XPKTBL_A
FIELD_A1
USER2
XPKTBL_A
FIELD_A1Hi,
Erhan_toronto wrote:
I am using below query to compare two indexes from 2 different users but even though index name and columns are same... result shows me they are different.. what I am doing wrong? Thanks
WITH t AS
(SELECT COUNT (DISTINCT index_owner || index_name || indexed_cols)
So index_owner is 'USER1' in one case, and 'USER2' in the other; right?
A string that starts with 'USER1' will be distinct from a string that starts with 'USER2', no matter what the rest of the string contains. Maybe you don't want to compare the owners, or maybe you meant to use some other column (such as table_name) instead of index_owner).
I hope this answers your question.
If not, post a little sample data (CREATE TABLE, CREATE INDEX and CONNECT statements), and also post the results you want from that data.
Explain, using specific examples, how you get those results from that data.
Always say which version of Oracle you're using (e.g., 11.2.0.2.0).
See the forum FAQ: https://forums.oracle.com/message/9362002 -
How to define the Index on the column which is define in view (9i)
hi all,
I have one view which is based on to tables say 'customers' and 'vendors'
view definition is like:
create or replace view customer_vendor as
select customer_name, 'Customer' type from customers
union all
select vendor_name, 'Vendor' type form vendors;
my problem is that how i can define index on 'type' column if i used in where clause when i query the view.
Regards
sAn index is a pointer. A pointer to a data place.
Data result of a view aren't stored.
So, how an index may work against a view ?
SQL> create index idx1 on v1(type);
create index idx1 on v1(type)
ERROR at line 1:
ORA-01702: a view is not appropriate hereThink about mview instead of view, maybe that can help. Data result of mview are stored somewhere in database, so you are allowed to create an index against mview, like for table.
Anyway, if you want 'Customer', why not request onto customers table ?
Nicolas. -
One column one row w/ separator to be hierarchical columns
Dear Gurus,
I want to present the "+one column/one row data+"
F:\JDeveloper\Tut\TIJ4-code\generics\watercolors\Watercolors.javaas this follow:
id parent_id
Watercolors.java watercolors
watercolors generics
generics TIJ4-code
TIJ4-code Tut
Tut JDeveloper
JDeveloper F:Id better using an sql rather than pl/sql.
regards,I think you'd struggle to do this in SQL alone, unless you use some fancy MODEL clause or Michaels can come up with some nifty XML solution. I would probably go with some PL/SQL as a pipelined function...
SQL> create table treedata as
2 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Adding Window Event Listener. Working with MDI.swf' as cp from dual union all
3 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating Finger Icon.swf' from dual union all
4 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating Key Icon.swf' from dual union all
5 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class Containing Information on Fingers.swf' from dual union all
6 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class Handling Shift Press.swf' from dual union all
7 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class KBLayout\Creating the Class KBLayout (Part 1).swf' from dual union all
8 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class KBLayout\Creating the Class KBLayout (Part 2).swf' from dual union all
9 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class KeyCode.swf' from dual union all
10 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class KeyIcon\Creating the Class KeyIcon (Part 1).swf' from dual union all
11 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class KeyIcon\Creating the Class KeyIcon (Part 2).swf' from dual union all
12 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class for Key Systemization .swf' from dual union all
13 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating Supplementary Classes\Creating the Class for Saving Information on Keys.swf' from dual union all
14 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Creating the Main Window (the Class MainWindow).swf' from dual union all
15 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Class Constructor.swf' from dual union all
16 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Creating Methods Responsible for Icon Fill.swf' from dual union all
17 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Creating Methods Responsible for Icon Highlight\Creating Methods Responsible for Icon Highlight (Part 1).swf' from dual union all
18 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Creating Methods Responsible for Icon Highlight\Creating Methods Responsible for Icon Highlight (Part 2).swf' from dual union all
19 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Defining Some Static Variables\Defining Some Static Variables (Part 1).swf' from dual union all
20 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Defining Some Static Variables\Defining Some Static Variables (Part 2).swf' from dual union all
21 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Highlighting Icons.swf' from dual union all
22 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Overriding the Method run.swf' from dual union all
23 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Overriding the Method setVisible.swf' from dual union all
24 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\Registering Keyboard in the Main Window of Application .swf' from dual union all
25 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\KeyboardGUI\The Methods new_icon and new_fingericon.swf' from dual union all
26 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Adding Keyboard Listener to the Application.swf' from dual union all
27 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Creating Methods to Test the Efficiency of the User''s work.swf' from dual union all
28 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Creating the class ExerciseGUI.swf' from dual union all
29 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Creating the class Lessons and Working with It in the Class ExerciseGUI.swf' from dual union all
30 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Handling Pressed Keys.swf' from dual union all
31 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Improving Graphical Interface of the Class ExerciseGUI.swf' from dual union all
32 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Setting Position and the Sizes of the Main Window.swf' from dual union all
33 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Statistics.swf' from dual union all
34 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Working with Graphical Interface of the Class ExerciseGUI.swf' from dual union all
35 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\The Class ExerciseGUI\Working with Keyboard Events.swf' from dual union all
36 select 'F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\Working with Main Window Menu. Positioning the Main Window.swf' from dual
37 /
Table created.
SQL>
SQL>
SQL>
SQL> CREATE OR REPLACE TYPE pth IS TABLE OF VARCHAR2(32767);
2 /
Type created.
SQL>
SQL> CREATE OR REPLACE FUNCTION tree RETURN pth PIPELINED IS
2 l_maxlen NUMBER;
3 l_parent_path VARCHAR2(255);
4 type t_output is table of varchar2(32767) index by pls_integer;
5 l_output t_output;
6 l_cnt NUMBER := 0;
7 PROCEDURE show_children(p_path IN VARCHAR2, p_lvl IN NUMBER, p_tree IN VARCHAR2) IS
8 l_ch_path_cnt number;
9 CURSOR cur_children_elements IS -- non path children
10 select replace(cp,p_path) as ch
11 from treedata
12 where instr(replace(cp,p_path),'\') = 0
13 order by 1;
14 CURSOR cur_children_paths IS -- path children
15 select pth
16 ,row_number() over (order by pth) as rn
17 ,count(*) over () as cnt
18 from (
19 select distinct substr(replace(cp,p_path),1,instr(replace(cp,p_path),'\')) as pth
20 from treedata
21 where instr(cp,p_path) > 0
22 and instr(replace(cp,p_path),'\') > 0
23 order by 1
24 );
25 BEGIN
26 select count(*)
27 into l_ch_path_cnt
28 from treedata
29 where instr(cp,p_path) > 0
30 and instr(replace(cp,p_path),'\') > 0;
31 for c in cur_children_elements
32 loop
33 l_cnt := l_cnt + 1;
34 if l_ch_path_cnt = 0 then
35 l_output(l_cnt) := replace(replace(substr(p_tree,1,length(p_tree)-2)||' ','+',' '),'-',' ')||' '||c.ch;
36 else
37 l_output(l_cnt) := replace(replace(p_tree,'+',' '),'-',' ')||' '||c.ch;
38 end if;
39 end loop;
40 if l_ch_path_cnt = 0 then
41 l_cnt := l_cnt + 1;
42 l_output(l_cnt) := substr(p_tree,1,length(p_tree)-2);
43 else
44 l_cnt := l_cnt + 1;
45 l_output(l_cnt) := p_tree;
46 end if;
47 for p in cur_children_paths
48 loop
49 if p.rn != p.cnt then
50 l_cnt := l_cnt + 1;
51 l_output(l_cnt) := substr(p_tree,1,length(p_tree)-2)||'+-'||substr(p.pth,1,length(p.pth)-1);
52 show_children(p_path||p.pth, p_lvl+1, substr(p_tree,1,length(p_tree)-2)||'| | ');
53 else
54 l_cnt := l_cnt + 1;
55 l_output(l_cnt) := substr(p_tree,1,length(p_tree)-2)||'\-'||substr(p.pth,1,length(p.pth)-1);
56 show_children(p_path||p.pth, p_lvl+1, substr(p_tree,1,length(p_tree)-2)||' ');
57 end if;
58 end loop;
59 END;
60 BEGIN
61 -- first display the common parent path
62 select max(length(txt)) as max_ln
63 into l_maxlen
64 from (
65 select substr(cp,1,rn) as txt
66 from treedata, (select rownum rn from dual connect by rownum <= 255)
67 group by substr(cp,1,rn)
68 having count(*) = (select count(*) from treedata)
69 );
70 select substr(cp,1,l_maxlen)
71 into l_parent_path
72 from treedata
73 where rownum = 1;
74 PIPE ROW(l_parent_path);
75 -- now recurse the data
76 show_children(l_parent_path, 1, '| ');
77 for i IN 1..l_cnt
78 loop
79 PIPE ROW(l_output(i));
80 end loop;
81 RETURN;
82 END tree;
83 /
Function created.
SQL>
SQL> select * from table(tree);
COLUMN_VALUE
F:\Teach_Pro_JAVA\Teach_Pro_JAVA\Teachpro\Working Over the Project\
| Adding Window Event Listener. Working with MDI.swf
| Creating the Main Window (the Class MainWindow).swf
| Working with Main Window Menu. Positioning the Main Window.swf
|
+-Creating Supplementary Classes
| | Creating Finger Icon.swf
| | Creating Key Icon.swf
| | Creating the Class Containing Information on Fingers.swf
| | Creating the Class Handling Shift Press.swf
| | Creating the Class KeyCode.swf
| | Creating the Class for Key Systemization .swf
| | Creating the Class for Saving Information on Keys.swf
| |
| +-Creating the Class KBLayout
| | Creating the Class KBLayout (Part 1).swf
| | Creating the Class KBLayout (Part 2).swf
| |
| \-Creating the Class KeyIcon
| Creating the Class KeyIcon (Part 1).swf
| Creating the Class KeyIcon (Part 2).swf
|
+-KeyboardGUI
| | Class Constructor.swf
| | Creating Methods Responsible for Icon Fill.swf
| | Highlighting Icons.swf
| | Overriding the Method run.swf
| | Overriding the Method setVisible.swf
| | Registering Keyboard in the Main Window of Application .swf
| | The Methods new_icon and new_fingericon.swf
| |
| +-Creating Methods Responsible for Icon Highlight
| | Creating Methods Responsible for Icon Highlight (Part 1).swf
| | Creating Methods Responsible for Icon Highlight (Part 2).swf
| |
| \-Defining Some Static Variables
| Defining Some Static Variables (Part 1).swf
| Defining Some Static Variables (Part 2).swf
|
\-The Class ExerciseGUI
Adding Keyboard Listener to the Application.swf
Creating Methods to Test the Efficiency of the User's work.swf
Creating the class ExerciseGUI.swf
Creating the class Lessons and Working with It in the Class ExerciseGUI.swf
Handling Pressed Keys.swf
Improving Graphical Interface of the Class ExerciseGUI.swf
Setting Position and the Sizes of the Main Window.swf
Statistics.swf
Working with Graphical Interface of the Class ExerciseGUI.swf
Working with Keyboard Events.swf
51 rows selected.
SQL> -
How to create index on xmltype column
I have a table having only one column xmlcontent (xmltype). This table stores xml data of about 10GB size. I'm using extract value to move the data to staging tables.
How can I create index on xmltype column?
Create index indexname on table (column) doesn't seem to work.
Sample xmlstructure is given below
<Root>
<Type>Insert</Type>
<Date>2006-12-29</Date>
<Source>8</Source>
<id>data</id>
<key_flds>
<fld><id>Key1</id><val>C</val></fld>
<fld><id>Key2</id><val>429672</val></fld>
<fld><id>Key3</id><val>8</val></fld>
</key_flds>
</Root>
I need to do extract value on all tags and move them to corresponding relational tables.Hi, you need to create them using something like this (what I have used and work rather well - if I did not load the xml into an xml table, the processing took about 10 minutes, while the indexed xml table took just a few seconds). statute_xml is the table name and sxmldoc is the xml column/field.
create index desc_idx on statute_xml
(sxmldoc.existsNode('/SimpleTypeCompanion/EnumerationValue/@description'))
create index sid_idx on statute_xml
(sxmldoc.existsNode
('/SimpleTypeCompanion/EnumerationValue/Text')
create index effdate_idx on statute_xml
(sxmldoc.existsNode
('/SimpleTypeCompanion/EnumerationValue/@effectiveDate')
Hope this helps.
Ben -
I'm using Firefox 3.6.17, and have installed Rikaichan 2.02. Once I've installed the Japanese-English dictionary, I then click on Rikaichan to get it started, and it always gives a "Javascript Application" error:
'''"The index for one or more dictionaries needs to be created. This may take a while on slower computers"'''
Rikaichan always works fine on my laptop, but I just can't seem to install it properly at work. Is there some sort of office security screwing it up?venicespent,
Boot into your Mavericks Recovery partition by hold down the command and R keys whilst booting. You'll see a screen that looks like this:
Click on the Disk Utility item to open Disk Utility. You should see your boot drive (usually named "Macintosh HD" unless you've changed it) in the column on the left of the screen. Select your boot partition and click on the "Verify" button. Let your Mac do it's thing - if you get green text telling you that everything seems to be OK, then your disk should not be damaged. If, however, you get red text telling you that the disk needs to be repaired, click on the "Repair" button. If the disk can be repaired, you should be good to go. If the disk cannot be repaired then the drive is damaged.
But before you do anything, make certain that you have backups!!!
Clinton
MacBook Pro (15-inch Late 2011), OS Mavericks 10.9.4, 16GB RAM, 960GB SSD, 27” Apple Thunderbolt Display -
Adding color to one column of a table
I am trying to make the first column light blue where it says
Eagle Forum Alerts. Here is the site:
http://www.indianaeagleforum.org/index.html
I assume the code is bgcolor=#Cddceb; Where do I put it so that
only this column is light blue? Either the whole table is blue or
the whole table is white. I just want one column blue. Thanks for
your help.
Diana HunterOn Sat, 09 Aug 2008 00:32:14 +0200, Michael Fesser
<[email protected]>
wrote:
>
>Not good.
Yes I know Micha - I've only done it very, very occasionally
sorry :-)
>If you want the text in an entire column to be centered,
you
>should apply classes to these cells instead of making
them table
>headings. Currently that's the only "right" way.
Yes Micha - I sort of knew that - it's just that I have
tables that
contain long schedules of data and just find it tedious
putting that
into about 30 to 150 rows :-)
and Dw can't do it in design view - can it ?
> There's no guarantee
>either that a table heading will always appear centered
by default!
>It's just a recommendation, you shouldn't rely on it.
I haven't found any problems in the main browsers -
IE6&7, FF, Safari
& Opera - not sure about some of the *nix browsers that
aren't based
on FF, WebKit ( as does Safari ).
>For such purposes I always have these classes in my
default CSS:
>.ac {text-align: center}
>.al {text-align: left}
>.ar {text-align: right}
good idea - I'll borrow that - thanks :-)
>If I want an entire table column to be centered, I simply
add a
>class="ac" to each cell there. Since most of my data
tables are created
>by PHP scripts, I can do this quite conveniently and
automatically.
sadly I've not done that with php yet - most of the tables
are
historical data - I'm given in spreadsheet or Word table
form.
>
>Another possible solution (at least in some cases) would
be to play with
>the more advanced CSS selectors like adjacent sibling and
first child.
>For example to address the second cell in each row you
could use
>
>td:first-child+td {...}
>
>Works well in modern browsers, but will fail in IE 6 and
below, though.
Thanks for the reminder - i did read about these in Meyer's
Definitive
Guide, but that was about a year ago -
>
>Personally I can live with that, since IE 6 usage is
constantly
>dropping. For me IE 6 is becoming the next NN 4 - I just
make sure that
>the site's content is available and usable, but I don't
really care too
>much about any graphical glitches or missing CSS effects
anymore.
I'm rapidly coming to the same conclusion. Just checked my
logs and
IE6 is between 13 and 25%.
thanks again for your guidance.
~Malcolm~*...
~*
Maybe you are looking for
-
How to set SMS editor languange permanently ?
Hi, I use Nokia E52. Since some time I cannot write SMS messages, because strange letters appear in SMS editor. Options -> Text language show me that Cestina language ist set. This is the first from the choice. When I set any other language like Engl
-
How to transfer music from one account to another through an iphone?
Recently, I was able to get a brand new laptop. I was excited to finally be able to purchase my own music from my own iTunes account, but over the past few years, I'd been buying songs off of my family's shared iTunes account. How can I transfer the
-
Self-Assigned IP: How Can I Fix This?
Hi, I've posted on this issue before, but am still having trouble. All was working well with my wireless network until recently, when I became unable to connect my iBook G4 to my wireless network via a Netgear router. I am getting the "Self-Assigned
-
There is a screen clicking problem in my iPhone 5c..what should I do?
There is a glass clicking problem in phone 5c ..I got it replaced once... But the replaced iPhone also has started the problem now...what should I do now?
-
Different File Sizes on Linux Samba - depending if bound to AD or not
The Macs are running 10.5.7 and are bound to a 2003 Active Directory. We connect to a Redhat Linux Samba file server. The authentication is handled by AD. The issue is that all the file sizes show up too large. Anything less than a 1MB is shown as 1M