Effectively reach views with the same underlying objects?

I have 3 views of the end user, and they all 2 underlying objects in common (1 table, 1 review).

Example:
a = table
b = view
c - e = support for tables

View 1:
Of a, b, c
WHERE THE...

View 2:
Of a, b, d
WHERE THE...

View 3:
Of a, b, e
WHERE THE...

Is there a way to allow end users to bring together these 3 points of view while limiting the number of times that the underlying objects are accessible? Ideally, Oracle would have access every underlying object only once by request of the end user, even if all 3 views are used in the query. Oracle is hitting the underlying objects once by the sight of the end user in the query.

In addition, the underlying view (b) cannot be converted to a materialized view because of the size of the data obtained.

1 option would be to combine all the columns in the view end user 3 in 1 larger view. However, they currently each have their own use functional and consequently were designed to be separate.

Thanks for your suggestions.

The general with this kind of structure problem of the view, it is essentially impossible to the optimizer to know that this table should only be consulted once because the logic in any particular view could exclude a line that another view would return or could cause a single row of has to join several lines in table B. It is generally not possible for the optimizer determine that a query that joins A table in three different views could be rewritten to have a single reference to a rather than an intentional 3-way table A self-join.

You will find many people who complain the performance of queries that use views not because the views improve intrinsically, but because someone has designed a very generic view layer and apparently simple queries join now to a bunch of tables, they don't really need to get the columns are not referencing or perform some other inexpensive filter which is not really necessary.

If performance is a problem, you could change the view layer so that users do not have to join three distinct views of which attached to the same table? Or you could allow users to reach the underlying tables for queries that require higher levels of performance?

Justin

Tags: Database

Similar Questions

  • Several infrastructure view with the same url

    I'm looking to migrate my users to a vcenter and an environment to another vcenter and view.

    On the new vcenter I intend to build on the composer, connect to the server and separate the old vcenter/view security server.

    I would like to make sure he that the two environments may be used via the same url, as it if a user has a problem with VDI new here on the new vcenter, they can simply choose to use the old VDI. In this way he makes migration smoothly by little and I still have users use the old VDI there if necessary.

    Is there anyway to achieve this?

    It is possible, but you will need to implement some kind of loadbalancer smart as F5 Global Load balancer, which will increase the cost and complexity.

    I would use another url to the new site and inform the user correctly.

    Linjo

  • In the tree of ADF problem when I use 2 tree in a Page with the same object in view!

    Hello world

    I use 11.1.1.5 JDeveloper and ADF Faces in the user interface. I have 2 trees in a page that they are same view editable object but different instances in the module of the application. When I change the attribute value of one of them to manage Bean programmatically, two of them change? !! in my case, I put a checkbox in nodeStamp, when the user click on the checkbox, rank title needs to change but the title in both entities change?
    I think it's a bug.

    Please help me. Thank you

    Hello
    If I understand your case, then this is the expected behavior.
    When multiple instances of objects from view based on feature in an application module is based on the same underlying object of the entity, then a change in one of them reflected on the other.

  • Two objects with the same name

    Hi all

    In my production database, there is a materialized view and a table with the same name. The two objects have the same number and type of columns.

    Record from user_object table

    OBJECT_NAMESUBOBJECT_NAMEOBJECT_IDDATA_OBJECT_IDOBJECT_TYPECREATEDLAST_DDL_TIMETIMESTAMPSTATUSTEMPORARYGENERATEDSECONDARYNAMESPACEEDITION_NAME
    TEST_OBJ151373151373TABLE22/06/201222/06/20122012-06 - 22:15:39:30VALIDNNN1
    TEST_OBJ152287MATERIALIZED VIEW22/06/201208/03/20122012-06 - 22:16:08:46VALIDNNN19

    I have another mode to normal display, TEST_NORMAL_VIEW, which selects the data of TEST_OBJ.

    Then, on which table data select. Please give some input on this subject.

    Kind regards

    Matondo

    A materialized view has 2 objects internally for her

    1. the materialized view (it is more of a model)

    2. the table that stores the actual data.

    So when you create a materialized view, you can see 2 objects created by querying the USER_OBJECTS.

    See this

    SQL> create materialized view my_test_mv as select * from emp;
    
    Materialized view created.
    
    SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV';
    
    OBJECT_TYPE        OBJECT_NAME          DATA_OBJECT_ID
    ------------------- -------------------- --------------
    TABLE              MY_TEST_MV                  1638964
    MATERIALIZED VIEW  MY_TEST_MV
    

    Now, you may notice that DATA_OBJECT_ID has null for the MV. DATA_OBJECT_ID is the Segment where the data is stored. As MV object is just a model and does not have data to null.

    The user has no direct access to the MY_TEST_MV table. See this

    SQL> drop table my_test_mv;
    drop table my_test_mv
               *
    ERROR at line 1:
    ORA-12083: must use DROP MATERIALIZED VIEW to drop "KARTHICK"."MY_TEST_MV"
    

    Also, you can associate an existing table to a materialized using the clause ON TABLE PREDEFINED view.

    Here is an example

    SQL> drop materialized view my_test_mv;
    
    Materialized view dropped.
    
    SQL> create table my_test_mv_new as select * from emp;
    
    Table created.
    
    SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV_NEW';
    
    OBJECT_TYPE         OBJECT_NAME          DATA_OBJECT_ID
    ------------------- -------------------- --------------
    TABLE               MY_TEST_MV_NEW              1638967
    
    SQL> create materialized view my_test_mv_new on prebuilt table as select * from emp;
    
    Materialized view created.
    
    SQL> select object_type, object_name, data_object_id from user_objects where object_name = 'MY_TEST_MV_NEW';
    
    OBJECT_TYPE         OBJECT_NAME          DATA_OBJECT_ID
    ------------------- -------------------- --------------
    TABLE               MY_TEST_MV_NEW              1638967
    MATERIALIZED VIEW   MY_TEST_MV_NEW
    
    SQL>
    

    Once you associate a Table with a MV direct Table access is limited. You can directly access only the MV.

  • where to save the files under options the file name is duplicated how to remove an additional folder with the same name

    Under Options in Firefox, I clicked on save the files under downloads, but the file name twice and an additional file with the same name is created in the folder, i.e.:

    G:\Akbar's Songs\HAMARA DOWNLOADS\HAMARA FORUMS DOWNLOADS FORUMS

    As you can see the file repeats, how can I fix it?

    Also the music files, I download from a site of downloads as a WinRar file and I need to open it. Y at - it an option where the file opens automatically in the folder I chose?

    Thanks a lot for your help.

    Hi Akush, when you install 7 - zip, make itself the default application to open .zip and .rar files. So if you double click on the .rar file, it should open in 7 - zip. If you prefer to decompress immediately, right click the file and look for new 7 - zip items in the menu. I can't think of a way to do this automatically, however.

  • ASA 5520-Duplicate Object - network with the same ip address

    Hello friends,

    We have 5 people work as a team, some in collaboration with CLI and Assistant Deputy Ministers.

    now, we have seen with the same IP address other network objects are created,.

    now some time its difficult to solve or monitoring

    can someone help me to find a solution so that nobody can create any object with the same IP address.

    You could do with a technical solution like EEM where you analyze syslog to see if someone sets up an object with an IP address and then act on it. But WWM has 9.2 which is not available for the 5520.

    If you can solve the problem with an organizational solution. Apply a standard for naming, how objects should be appointed, ensuring that everyone watches he objects before creating new and more important, you must talk to each other which will configure that.

  • How to prevent multiple objects with the same key being stored?

    Hello
    I use of DPL and I want to know if we have any way of preventing multiple objects with the same primary key is stored in the database or not.

    Thank you

    Hello

    Primary keys are unique - there may be multiple objects with the same key. Did you look in the javadoc for the PrimaryIndex and methods put ()?

    -mark

  • My camera has reached 9999 photos and started renumbering 0001 but in a different folder.  If I import new photos in iPhoto, the older photos with the same numbers are overwritten?

    My camera is renumbering pictures from 0001, but a new camera case.  If I import new photos in iPhoto, they replace the old photos with the same numbers?  The camera knows that they are in a different folder, but what happens when I import into iPhoto?

    iPHoto manages very well duplicate file names - each import is in another folder in the database - no problem

    LN

  • IMessage Apple Watch has two interviews separated with the same person?

    My new Apple Watch has a problem with iMessage and I know how to fix this on my iPhone but not watch?

    On my iPhone, that my ID apple is connected to more than 10 devices and sometimes when a new device is added, it adds the addresses on my apple for iMessage and FaceTime ID and I always fix by unchecking the addresses that I don't want in the application settings under "Messages" and "FaceTime." However, this isn't the same thing to watch because there is no option in the settings on the Apple Watch and the watch App on my iPhone.

    I would like to help please?

    Hello

    Apple Watch uses the same parameters (for how you can be reached and how new conversations are started) for Messages as your iPhone.

    If you have two interviews separated with the same person, the following steps may help:

    • On your iPhone, check if there is more than one contact form in Contacts of this person (if so, remove duplicates).
    • Delete old Messages conversations with this contact on each of your iPhone and watch:
      • iPhone: app Messages > swipe to the left on a message thread > delete.
      • View: Open the Messages app (from the home screen, which is accessible by pressing the digital Crown) > swipe to the left on a message thread > tap on Trash / delete.
    • On your iPhone in the app Watch: Watch My > general > reset > press reset sync data:
      • You won't see anything happen after pressing it (the process runs in the background, invisible to the user).
      • Leave a minute or two to allow the course ends.
    • Restart your iPhone and your watch (turn the two together off the coast, then restart your iPhone first):
  • CF8 cfquery multiple table join with the same names of columns - default

    This seems to be a defect in the CF8 cfquery object. I'm at a loss as to a solution or a good work around. With regard to the substance, this query is generated dynamically on the fly based on what is happening in it a user. This isn't the most elegent SQL but work and return all columns. The app itself is a data viewer to look at the logs. Here is an example of a query being generated.

    Select *.

    of web_trans, web_info_trans, web_res_trans

    where (web_info_trans.trans_dte > = '' 2008-12-1)

    and web_info_trans.trans_dte < '' 2008-12-2)

    and (web_info_trans.trans_dte = web_trans.trans_dte)

    and (web_info_trans.trans_num = 5060345)

    and (web_info_trans.trans_num = web_trans.trans_num)

    and (web_res_trans.trans_num = 5060345)

    and (web_res_trans.trans_num = web_trans.trans_num)

    and (web_trans.web_trans_cde = "NTUI")

    and (web_trans.web_status_cde = 'P')

    and (web_trans. TRANS_NUM < 5060347)

    order of web_trans. TRANS_NUM / / desc

    These three tables contain a similar column called ZIP_CDE. They contain different values, and when this query is executed in Microsoft Query Analyzer results are displayed correctly. Run this same query SQL with CFQUERY and the value of one of the other tables (web_trans) will eventually replace the value for the other columns called ZIP_CDE. The exact amount columns are retruned only values some how get corrupted.

    This is a defect of cf8 is a book autour or an update that resolves this problem that I may have missed?

    Thank you for the ideas.

    Thus it seems still as a default since CF is essentially where, except for the return value play. Other query tools return results correctly so for me, it turns out be CF bug at a certain level.

    Actually I'm swinging to agree with you here, but not for the same reason.  CF actually * is * get all the columns back (as you say), it just doesn't expose a way to tell the difference between a column called 'x' and an another column called 'x', because the way to access the data in columns is simple queryname [columnName] [rowNumber] (or a Variant fo this, but all the amount of variations to that or abbrev. it).  This code shows how he has all four columns of the original two queries (being a stand-in for tables, in this case):


    Q1 = queryNew("");
    Q2 = queryNew("");
       
    queryAddColumn (q1, 'id', [1,2,3,4]);
    queryAddColumn (q1, "data", ["one", "two", "three", "four"]);
    queryAddColumn (q2, 'id', [1,2,3,4]);
    queryAddColumn (q2, "data", ["tahi", "rua", "toru", "wha"]); It's Maori, in case you are interested


    SELECT *.
    Q1, q2
    WHERE q1.id = q2.id

    So CF knows there are four columns (a call getMetadata (q3) get also demonstrates this), but it does not expose a way to approach the second (or even greater) column of the same name.  This is the bug/shortfall.

    However, relying on an underlying coldfusion.sql.QueryTable method, you can rename the columns, so:

    Then you're OK.

    I would be normally reluctant to recommend doing this, because these methods change from version to version of CF, but it's your call whether this approach will help you.

    To be honest, I'm with Owain who, even in SQL one generally doesn't work with columns with the same name, an alias them qualified with a table name/alias. As the table columns from of is not returned by SQL with the result set, it must be evidence against this by folding the columns in the first place.

    Also, I wonder at the bottom of the extraction of data, you don't really know the structure, that is to say, do SELECT *.  How can you know not even that is ours as the first column, second column, etc.?  I don't think that SQL applies in fact a contract that, t - it?  (I don't know).

    What are you actually do here?

    --

    Adam

  • XOQ-01950: Cube contains several BuildSpecifications with the same name.

    Hi all

    When executing the option to maintain Cube he throws under question: any clue?

    XOQ-01950: the AWCubeOrganization for cube 'NN_OLAP_POC. MARKET_SALES_CUBE"contains several BuildSpecifications with the same name.

    Thank you
    Exq

    This error should show only upward when you create a cube (by importing XML), not when you maintain. So, I'll assume that's what you hear.

    If you are importing XML that references an OLAP object that already exists, whereas the new definition replaces the old. The only exception to this rule is the BuildSpecification object. This kind of object is called, but it does not follow these conventions (for reasons of disorder of implementation). If you import the XML code that has a BuildSpecificaiton with the same name as one that already exists, then you will trigger the error you see. Here is a relevant example of XML.

    
     
    
    

    The solution is to remove this section from the XML before importing it.

  • OSB file work twice with the same file

    I have a problem of execution of a proxy service that get the files from a file system. Everything in the flow works as expected, but at some point, I have to wait for an update on a database and the process awaits for this change. Everthing is normal if the update comes in the following minutes 1 - 7, but after that, if the process is always there in general (9-11 minutes), a second process is called and the processed file is the same. After the first process is called the folder is empty, so I don't understand why the proxy is called again with the same file, since there is nothing on the record. This can happen because I have make changes to the database.

    The process is called only twice with the same file, no process is still called (a third) If two processes still work, which is weird. given that nothing in my logical proxy back to the beginning.

    "Weblogic/OSB" tends to release resources on a specific time, such as 'Max Stuck Thread Time' but for files or other resources?

    No idea why this is happening

    Thanks in advance.

    I think it is due to the delay of transaction. The PolledMessageListenerMDBEJB under file carrier has a timeout of the transaction of 10 minutes. So if you encounter a very long-lived transactions that spans more than 10 minutes, you could see the price drop that passes due to the delay.

    To confirm, is this is the case, when this problem occurs, go to JMS Modules > jmsResources > wlsb.internal.transport.task.queue.file_auto_n > Monitoring. You should see messages in the messages waiting in the column.

    Click to view the Messages. Click on a message and check the number of delivery. This should have a value of 1 or more which should mean the message has been restored at least once before.

    If this is the case, you can try changing the value of timeout PolledMessageListenerMDBEJB transaction under file Transport provider in deployments and then update the deployment of file transport provider. Check in parallel with support on what is the official recommendation to increase the time-out period.

  • Attributes with the same name - ADF BC Validation Messages

    Hi all

    I have two entities and associated views. Each of them have attributes with the same name. In my particular case, they are two dates - StartDate and EndDate. EndDate on both entities have validations (Expression of Script). The validations to check that the end Date is later than the Date of departure - "return newValue > StartDate. Is this a valid validation groovy script for dates?

    I have a unique creation page that contains these two entities. What is happening now, is that if the validation fails even one of the entities, fields of both entities are reported. In some cases, I can even see two validation error messages is displayed.

    Needless to say, rename the attribute on one of the entity (and the corresponding view object) seems to work.

    I have a simple repro case (contains Jdev project and SQL script) here - http://dox.bijesh.info/reproValidationMsg.zip and a screenshot here - http://dox.bijesh.info/ReproADFBCValidation.jpg

    Would be very happy if someone could either point out what I'm doing wrong or confirm that it is a bug.

    About:

    JDeveloper 11.1.1.3.0 JDEVADF_11.1.1.3.PS2_GENERIC_100408.2356.5660
    11.1.1.56.60 ADF business components
    Oracle IDE 11.1.1.3.37.56.60

    Edited by: Bijesh Krishnadas November 25, 2010 04:21 - corrected the groovy expression

    Bijesh Krishnadas wrote:
    FWIW, I've changed the validation script for "return false" on an entity and "return true" on the other. This leads to the same question as well.

    This seems to be a bug.

    However, using a validator compares as stated earlier is the right way to accomplish what you're trying to do.

  • [JS CS3] First plan a selection of documents when others with the same name?

    I have a few scripts that are used to perform various operations on the current selection in InDesign. Under normal circumstances these work very well, but I can't seem to reliable get the document/selection of foreground when there is another document opened with the same name. Most of the references to the document and any reference to the selection, I've tried so far will simply lead to this document which was recently opened (and has the same name).

    app.activeDocument.fullName always return the path to the most recently opened document of the same name, but app.documents [0] .fullName returns the correct path. Try to get the selection well will always return the selection of the most recently opened document of the same name, regardless of the question of if I try app.selection, app.activeDocument.selection or app.documents [0] how. I also tried with getElements() [0] annexed to the document reference, but it makes no difference.

    My primary environment is still CS3 and the problem seems to be that it only references the documents by name. Short tests with CS5 indicate that this has been resolved by Adobe, probably because it now makes reference to documents using a default id. Haven't tried CS4 but its document object not having a property id guess it will behave the same as CS3. Is there a way to get around this, or is the best I can do to detect the problem (a simple app.activeDocument! = app.documents [0] comparison seems to work reliably) and refuse to run if encountered?

    The real problem is that the collections in the documents with the same name think to bad.

    The APID solution was trying to solve the problem, but because it was not the document reference that was broken, the patch did not help...

    Substances

  • Is it possible to prevent the 'threading' messages with the same subject all Thunderbird?

    Now Thunderbird seems to clump messages with the same subject and there is a graphic ligature tying these together. Would be nice if I could disable this feature. It is generally more useful if a repertoire of messages appear in reverse order of date or another order I specified when sorting. "Threading", if I can call it that, defeated my sort order.

    It would be nice if I could turn the feature occasionally to discuss a conversation, but for day to day use, I want to turn it off.

    Thank you.

    I believe that this is the setting that you are after:

    https://support.Mozilla.org/en-us/KB/configuration-options-viewing-messages#w_specify-whether-messages-in-the-message-list-are-grouped-into-threads

    See you soon,.
    Dave

Maybe you are looking for