Which is better?? INDEXING or AGGREGATES or PARTITIONING??
Hello BW Experts,
If I need to decide one out of three i.e., INDEXING or AGGREGATES or PARTITIONING for better performance.. ??
whcih one should i go for?? and why??
Plz throw some light on this!!
Thanks & Regards,
Sapster.
Hi,
For query performance and dataloading performance we need all the three.. So we cannot say this one is better than other as per my knowledge..
Partition:
By using partitioning you can split up the whole dataset for an InfoCube into several, smaller, physically independent and redundancy-free units. Due to this separation, performance is increased when reporting, or also when deleting data from the InfoCube.
Aggregates:
An aggregate is a materialized, aggregated view of the data in an InfoCube. In an aggregate, the dataset of an InfoCube is saved redundantly and persistently in a consolidated form on the database.
Aggregates allow quick access to InfoCube data during reporting. Similar to database indexes, they serve to improve performance.
Index :
Indexes are created in the fact table for each dimension allow you to easily find and select the data. When initially loading data into the InfoCube, you should not create the indexes at the same time as constructing the InfoCube, rather only afterwards.
The indexes displayed are the secondary indexes of the F and E fact tables for the InfoCube. The primary indexes and those defined by the user are not displayed. The aggregates area deals with the corresponding indexes of the fact table for all aggregates of an InfoCube.
Have a look at the below document..
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7deb490-0201-0010-f882-ef40f8c9bb5c
Regards,
Siva.
Similar Messages
-
Which is better partition or index??
Hi,
i have a table with approximately 2 billion records and there are 2.5 mil records inserted every day.
the table has a field called (Originatetime Date) which has an avg of 35-40 row per second.
most of the queries of this table use this field but normally not as an exact value but with a range
ex:
originatetime >= to_date('2010-01-01','yyyy-mm-dd')
and originatetime < to_date('2010-03-01','yyyy-mm-dd')my question is, which is better to use in this case a daily partition on originatetime or an index on originatetime
because the table is very big and i was thinking that a partition range scan would have better performance.
oracle version : 11g Enterprise Edition Release 11.1.0.7.0 - 64bit ProductionSince Maximum number of partitions allowed per table or index = 1024K - 1 I would say partition
Regards
Etbin -
Which is Better Mac or Windows?
Which is Better Mac or Windows?
I got told that Windows is better than Mac.
I need to know:
1. How long an iMac lasts and how long a Windows computer last till they die and not work. (Prediction will do)
2. Why lots of people hate Mac and say that Mac's are crap.
3. Is a iMac worth the cost?
4. Is an iMac harder to use than a Windows computer?
Thank You
From Apple is The Best!!!!!!!The case of Apple v. Windows is a subjective argument. Both systems have their merits, both have some aspects that some users don't like. Much depends on what you actually want to use them for.
Here is some reading material for you!
A Customer Experience Index report from Forrester Research came to the conclusion after studying almost 4,600 computer users' experiences from 2008 and asking them to score the ease of use of their computers, how enjoyable the experience is and whether or not the systems fulfill their owners' needs.
http://www.appleinsider.com/articles/09/04/17/apple_trumps_windows_pc_makers_in_ customer_experience_study.html
PC World (December 2010) has also found Apple products and after-sales service the most reliable:
http://www.pcworld.com/article/211074/the_tech_brands_you_can_trust.html
Switching from Windows to Mac:
http://support.apple.com/kb/HT2514?viewlocale=en_US
and
http://support.apple.com/kb/HT2518?viewlocale=en_US -
Which is better to use spotlight or finder
I have been a Mac user for six years. Still, I am unsure how to find things most easily on my computer. I was searching for a folder I knew I had, using its exact name in Finder, and I could not locate it. I used it in Spotlight and found it right away. I've not used Spotlight too much, but should I use that instead of Finder?
No rule on which is better to use, I suppose it is matter of preferences.
You can certainly expand or restrict what Spotlight searches (indexes) for you via Spotlight's preferences.
Here is a good free app that IMHO does a good job, EasyFind, at finding contents along with file names quite well.
https://itunes.apple.com/us/app/easyfind/id411673888
from this group
http://www.devontechnologies.com/download/products.html -
BLOB Vs XMLTYPE, which is better!!?
Hi all, we currently store our XMLs as BLOB in a relational table, now we need to do wildcard search on the XML and are thinking of changing the column to XMLTYPE for better performance. But still we know there are options for wildcard searching in BLOB itself, but we are worried about performance hit. Also it seems difficult to do XMLTYPE using hibernate. We would be transacting millions of XMLs per week.
Can you please suggest which out be the best datatype for the column, remain with BLOB or to go with XMLTYPE and also specify which type of indexing is better Oracle Free Text or Unstructured XMLIndex for XMLType considering better performance.
Thanks!!It's definitely possible to map an SQLXML object using Hibernate. Check out the section of the Hibernate UserType mappings in the manual here:
http://docs.jboss.org/hibernate/orm/4.1/manual/en-US/html/ch06.html#types-custom
I've done this myself; it basically involves implementing the UserType class and then adding a typedef to your hibernate-mapping file.
I agree with Anon that you'll get far better performance for searching (as well as using far less space with XML BINARY storage) if you switch to XMLType. His blog has some good performance tips, by the way (thank you, Anon). However - a warning: you say that you are transacting millions of XML's a week; if you are replacing them, then you should be fine, but I've experienced problems updating pieces of the document that are large (where the XML being updated is too big for the O/R storage option, but too small for the CLOB storage option). YMMV. -
Which is better in terms of performance
Dear All,
which is better..
to use FOR ALL ENTRIES or
to build a range and use WHERE IN RANGE_TABLE .. Does this have data limitation problem.
is there a better method?
Thanks,
Raghavendra
Moderator message - Please search before asking - post locked
Edited by: Rob Burbank on Jul 7, 2009 10:53 AMI want to know which is betterThere's not enough information for anyone here to be able to tell you.
Obviously the first one "looks" faster, but without knowing the tables, structure, data, indexes, platform etc. etc. etc. we won't have a clue. -
In and EXISTS??which is better and why
hi...
Performance wise which is better IN or EXISTS and why..user8469486 wrote:
hi...
Performance wise which is better IN or EXISTS and why..DomBrooks pointed out that it may not matter due to query optimization rewrites.
In theory it depends on circumstances.
Correlated EXISTS subqueries tend to be efficient if the lookup is properly indexed. If the list of values is very small (especially if you only get one value) an IN subquery might be more efficient. -
Which Is Better Time Machine or Backup
So I just got a new iMac plus a 1T external drive. I have been using backup on my old mini-mac with an external drive plus I used the drive for iTunes and iPhoto. So which is better TM or the old backup (which I had no problems with). I really do not do a lot on the iMac, no work just iLife stuff.
If I use TM can I partition the 1T to use one 500 GB for TM and another 500 GB for any odds and ends I simply want to store there (I plan to convert old videos to digital)?
ThanksHi! The drive for a bootable clone should be the same size as the internal main drive as should be the drive for TM. To create a bootable clone you can use the disk utility but I prefer SUPERDUPER and if you pay the 27.95 you get the ability to schedule auto backups! Tom
To use the disk utility: Kappy's method
How to Clone Using Restore Option of Disk Utility
1. Open Disk Utility from the Utilities folder.
2. Select the backup or destination volume from the left side list.
3. Click on the Erase tab in the DU main window. Set the format type to Mac OS Extended (journaled, if available) and click on the Erase button. This step can be skipped if the destination has already been freshly erased.
4. Click on the Restore tab in the DU main window.
5. Select the backup or destination volume from the left side list and drag it to the Destination entry field.
6. Select the startup or source volume from the left side list and drag it to the Source entry field.
7. Double-check you got it right, then click on the Restore button.
8. Select the destination drive on the Desktop and press COMMAND-I to open the Get Info window. At the bottom in the Ownership and Permissions section be sure the box labeled "Ignore Permissions on this Volume" is unchecked. Verify the settings for Ownership and Permissions as follows: Owner=system with read/write; Group=admin with read/write; Other with read-only. If they are not correct then reset them.
For added precaution you can boot into safe mode before doing the clone.
Message was edited by: Thomas Bryant -
Which is better ? for loop or iterator ??
Hi,
I have one array list having more than 100 objects in it.
I have two way to ietrator.
1.
for(int i=0; i<list.size(); i++)
Object o = list.get(i);
2.
Iterator i = list.getIterator()
while(i.hasNext())
Object o ...
which is better in performance ??Well okay. It's an easy optimization but I guess Sun
doesn't want to "bail out" people who don't know
their data structures.It won't always be optimal, though. If you use
iterators and don't iterate the whole way through
every time, it would degrade performance. It's hard
for them to make assumptions about how you will
access the data. So you punish people who do use it
properly if you do that.I don't know. The optimization I suggested is isolated to random accesses in the linked list only. Say you access index 5. The node pointer corresponding to 5 is stored and if the next access is index 6 the node pointer you're looking for is pointer.next. There's no need to walk the list from the beginning. -
Hi guys,
I want to install Windows along OS X...
now what is better?
to install Windows via Boot Camp or via Parallel / VMware fusion??
and if through one of the virtual machine softwares, which is BETTER?? the Parallel for Desktop or the VMware fusion one???
Thank youGuitarcal wrote:
I use both boot camp and vmware fusion. A neat feature of vmware fusion is you can access your boot camp partition as a virtual machine from vmware. This way, you can have both. I believe parallels might also let you do that but I have never used it. This has been helpful to me if I need to access a file from the boot camp partition quickly and easily without rebooting my computer.
I agree with dwb that xp is probably going to be the best os to run through a virtualization software.
I honestly don't think you can go wrong with either parallels or vmware fusion. There is also a FREE software package created by sun called VirtualBox.
Here is the link to there home page: http://www.virtualbox.org/
I hear and read that it is excellent as well.
Hope this helps.
I just installed parallels and you can use your bootcamp partition for the vm with parallels as well. Its pretty slick. Use it for light applications with parallel, reboot to bootcamp for graphics intensive ones.
Cheers. -
Which performs better for windows development, bootcamp or parallels?
I have an imac at home and am using parallels to host a w7 vm, wherein I do some web and db development. It is quite sluggish at times. I think i may need to tweak the config to perhaps allocate more ram to it but i'm not sure. I just picked up a macbook pro gen2 i7 and before I install a w7 vm or parttition i was wondering which is better, parallels or bootcamp? I do like the interactivity that parallels gives me with respect to files between the w7 vm and lion, but am wondering it that is perhaps the achilles heal when it comes to performance.
what's the preferred route by other developers out there?
Thanks!that's what i thought. thanks for confirming. it sounds like i might be able to use parallels ALSO later on to access the windows bootcamp partition, based on reading another thread.
-
I wonder which is better - Airport Extreme or Time Capsule for use at home. I have a year old Macbook Pro (10.8 OS), am getting a new Macbook Air for use at work, and will be adding a second ipad. Originally iI was researching to find an exgternal backup, but the Extreme sounds interesting.
Install under BootCamp and you need to alter the boot sector of the drive. Also you cannot create any more partitions.
But Parallels can use the BootCamp Windows as is "image", giving you the choice of "how to use it when". -
Query tuning and using the "better" index.
I have a database table with about 40,000 records in it. Using
a certain index first limits the number of rows to 11,000
records. Using a different index first (by disabling the other
index in the query) limits the number of rows to 2,500 records.
Using the explain plan, the rest of the query is parsed the same
way for both queries. What reasons can explain why when the
index that returns 11,000 records first runs faster than
the "better" index? I thought the whole idea behind query
tuning is to use the index that limits the data the most.It looks like Oracle likes the equality condition more than the greater than -less than combination (which you might like to recode as a BETWEEN condition for clarity).
There are a number of factors here.
i) Are the "test names" equally distributed? Do some test names appear with greater frequency than others? If so, collecting column statistics might cause the BATCH_2 index to be used for some test names, and not for others.
ii) Likewise, what is the distribution of cdates? How does the distribution of cdates vary by test name?
iii) You could force the use of the BATCH_6 index over the BATCH_2 by using an optimizer hint instead of dropping the BATCH_2 index ...
select /*+ index(batch batch_6) */ id, test, cdate
from batch
where test = 'Some test name'
and cdate >= &start date&
and cdate < &end date& + 1
... or even try prompting Oracle to use both indexes ...
select /*+ index(batch batch_6) index(batch batch_2) */ id, test, cdate
from batch
where test = 'Some test name'
and cdate >= &start date&
and cdate < &end date& + 1
... and test the response times, then chose to use the optimizer hint in your application
iv) You might like to replace the rather unselective BATCH_2 index with a BATCH_2_6 index on both test and cdate (in that order). That would probably give you an excellent result, and the BATCH_6 index can still be used to satisfy queries slective on cdate that are not selective on test (in very recent versions of Oracle the BATCH_2_6 index might be used for such an operation, and you could drop both BATCH_6 and BATCH_2)
Well, see if any of this helps. -
In which case the data should go one partition go to another?
Hi All,
My db is 11.2, Exadata machine.
I encountered the same problem here. When I used 'where column=1', I got the result as 1 and 2
That is I find some data should belong to one subpartition appear in another subpartition.
Partition and subpartitions looks like:
PARTITION BY RANGE ("SRCE_SYS_ID")
SUBPARTITION BY LIST ("SALES_DATE")
(PARTITION "3200_CD" VALUES LESS THAN (3201)
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "POS01A" COMPRESS FOR OLTP
SUBPARTITION "1359_CD_28MAR2012" VALUES (TO_DATE(' 2012-03-28 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE "POS01A" COMPRESS FOR OLTP ,
SUBPARTITION "1359_CD_29MAR2012" VALUES (TO_DATE(' 2012-03-29 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
TABLESPACE "POS01A" COMPRESS FOR OLTP ,
SUBPARTITION "1359_CD_30MAR2012" VALUES (TO_DATE(' 2012-03-30 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN'))
)If I issue
SELECT count(*)
FROM ADWG_GPOS.gpos_cd_fads
WHERE gpos_cd_fads.srce_sys_id = 3200
AND to_char(sales_date,'dd/mm/yyyy')='28/03/2012'The result is 10000.
If I issue
SELECT count(*)
FROM ADWG_GPOS.gpos_cd_fads
WHERE gpos_cd_fads.srce_sys_id = 3200
AND sales_date = to_date('28/03/2012','dd/mm/yyyy')It returns 5000.(correct result)
After investigating, I find some data with sales_date 28/03/2012 go to partition 1359_CD_30MAR2012.
Can someone help me understand why this happend?
Best regards,
Leon
Edited by: user12064076 on Apr 5, 2012 7:17 PM>
After investigating, I find some data with sales_date 28/03/2012 go to partition 1359_CD_30MAR2012.
>
Please fix the errors in your posted code and question.
1. You only show SELECT queries so no data with sales_date 28/03/2012 can go anywhere. Clarify what your statement about data going somewhere means.
2. You only show one partition range for SRCE_SYS_ID < 1314 so there is no partition shown for ID values of 3200 meaning if you have such a partition you did not show it - meaning you did not post the DDL for the table you are actually using. If you had a query for values of 3200 would not return any rows since there is no partition the data could be in.
3. AND to_char(sales_date,'dd/mm/yyyy')='28/03/2012' - this is basically equivalent to a functional index on 'sales_date' so partition pruning will not happen. For Oracle to prune partitions it needs to know AT PARSE TIME that any partition it 'prunes' cannot possibly contain needed data. It determines which partitions need to be accessed when it parses the query and evaluates it - not when it executes. When you use a function like in this example it cannot determine with certainty which partitions are not needed so will do a full partition scan. -
How to create better index on a table--
Hi
I have table called CS_LM_CUST.Every day I am getting 1,50,00
records every day.And all the records I am inserting.And every
two months data I am doing purging.My requirement is to load
chaged data between 2 days i.e current day feed minus previous
day feed difference data only I need to do.
For taking the differrence data I have given the sql statement
like this.
SELECT
CUST_NO,ORIG_BR_COD,LANG_COD,NATL_CTRY_COD,CUST_NAM,DMCL_CTRY_COD
,CUST_GFCID,CUST_GFPID,STD_INDS_COD FROM CS_LM_CUST WHERE
ORIG_BR_COD = p_Branch AND REC_EXTRC_DT = CurrentDate
MINUS
SELECT
CUST_NO,ORIG_BR_COD,LANG_COD,NATL_CTRY_COD,CUST_NAM,DMCL_CTRY_COD
,CUST_GFCID,CUST_GFPID,STD_INDS_COD FROM CS_LM_CUST WHERE
ORIG_BR_COD = p_Branch AND REC_EXTRC_DT = PreviousDate
And for updating the differed data sql statement is given like
this.
UPDATE CS_LM_CUST
SET newrec_flg = 'Y'
WHERE cust_no = g_CSLMCUST.cust_no AND
orig_br_cod = g_CSLMCUST.ORIG_BR_COD AND
rec_extrc_dt = g_CSLMCUST.rec_extrc_dt;
Index has been created on cust_no,orig_br_cod,rec_extn_dt.But
the updating part is taking lot of time.Nearly 45mts.Could any
one suggest better indexing on this table which will satisfy
DML statement like SELECT,UPDATE.
The table below fields
CUST_NO
REC_TYP
LANG_COD
NATL_CTRY_COD
REC_EXTRC_DT
CUST_NAM
DMCL_CTRY_COD
CUST_GFCID
CUST_GFPID
ORIG_BR_COD
SYS_NAM
DATA_TYP
STD_INDS_COD
ACTN_TYP
EVENT_TYP
MSG_DT_TM_STMP
FORMAT_OK_FLG
MSG_ID
NEWREC_FLG
I have tried alot for creating all the possible ways.But it
satisfy either SELECT or UPDATE at a time.
Thanks & Regards
Srinivas NimishakaviHi, General practice is clustered index would be created by Primary key if one created. That would identify the row ie., no duplicate rows. You can create composite key (combination of more than one column) as primary key. Other widely used practice
is to use surrogate key like identity key which assigned unique number. Please note that you only got one clustered index .
" Clustered indexes sort and store the data rows in the table or view based on their key values. These are the columns included in the index definition. There can be only one clustered index per table, because the data rows themselves can be sorted in only
one order. "
Since you already got quite few non-clustered indexes, you have to rebuild/reorganize once you create clustered index.
Maybe you are looking for
-
How to handle multiple radiobutton groups in a selection screen?
Hi All, I have tabbed selection screen. * SELECTION SCREEN * SELECTION-SCREEN BEGIN OF TABBED BLOCK TABB1 FOR 20 LINES. SELECTION-SCREEN TAB (20) TAB1 USER-COMMAND TAB1 DEFAULT SCREEN 1010. SELE
-
Cannot close attachment in mail
I received an invoice PDF. I opened it. Now when I open email, I only see the PDF not my accounts let alone my email. How do I close THE PDF? Pinch gesture closes entire email program app, when I open email app there is THE PDF again.
-
What is the Impact of just parking invoice doc's, but not posting...
I would like to know the risk/constrain involved with the below process, which may not be a standard practice. 1. Service Provider maintains Classic SRM/ECC. Customer maintains own ECC. 2. Shopping cart created in SRM and PO generated in ECC of Servi
-
What happen with the IM messaging for nokia N8???
nokia can you tell me if you have plans to create a IM client for nokia n8, I bougth this device because I saw the demo and watch IM for this. I don't want use nimbuzz or third party client please do something. or give me information if I hac still w
-
UC320 call forwarding, poor audio quality
On nights and weekends, I have the UC320 set up to ring the main hunt group of 3 office phones for 4 rings, if no one answers, it forwards out to another phone number. Now here is where my problem comes in, When the calls comes in from caller to the