![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
We've got some performance issues that somebody thinks could be alleviated by using Temp tables. However, the DB management group has decreed that no temp tables will be used at their installation. I'm guessing they have a pretty good reason, but what would it be? Memory? ----------------------- PeteCresswell |
#3
| |||
| |||
|
|
We've got some performance issues that somebody thinks could be alleviated by using Temp tables. However, the DB management group has decreed that no temp tables will be used at their installation. I'm guessing they have a pretty good reason, but what would it be? |
#4
| |||
| |||
|
|
Have you asked them? |
#5
| |||
| |||
|
|
Are they making the distinction between dynamically-created temporary tables (almost universally wrong) or global temporary tables created only once (not often needed, but considerably less evil). |
#6
| |||
| |||
|
|
RE/ Are they making the distinction between dynamically-created temporary tables (almost universally wrong) or global temporary tables created only once (not often needed, but considerably less evil). The situation is that of creating reports. Bond trading application, many desks, many users at each desk, all at each other's throats, nobody wants to wait for the next guy - especially if they're on a competing desk. The first choice offered was temporary tables. Applealing because it puts each user in their own little world. If a hundred users try to run reports at the same time, performance will degrade - but everybody waits - nobody goes to the head of the line at the expense of others - everybody has the perception that their reports are being run *now*, albeit sometimes slowly. There's a second choice involving global tables, but part of the situation is that many people may choose to run reports that use the same suite of data at nearly the same times - yet each group of reports needs to be as "realtime" as possible. My current understanding of the global table option is that it will require locking out everybody except one user at a time - something about inserting into a temp table wiping pre-existing data - but I know nothing of P-SQL or Oracle. |
#7
| |||
| |||
|
|
Sounds like you've not understood what global temporary tables are about? |
#8
| |||
| |||
|
|
RE/ Sounds like you've not understood what global temporary tables are about? I think you've nailed it. I was missing the "fixed structure, data-visible-to-only-inserting-session" part. Now it makes more sense. I'm taking the "no schema changes except under controlled cirumstances" part on faith. Would the prohibition be because letting somebody do a CEATE TABLE/DROP TABLE for temp tables mean that they could do the same thing with "real" tables? ----------------------- PeteCresswell The reasons are as follows: |
#9
| |||
| |||
|
|
The reasons are as follows: 1. Kills performance and scalability 2. The privileges to create objects do not belong in a production schema except during brief periods when it is being built or modified under the direct supervision of the DBA. 3. Completely unncessary so no reason to do it. |
#10
| |||
| |||
|
|
We've got some performance issues that somebody thinks could be alleviated by using Temp tables. However, the DB management group has decreed that no temp tables will be used at their installation. I'm guessing they have a pretty good reason, but what would it be? Memory? ----------------------- PeteCresswell |
![]() |
| Thread Tools | |
| Display Modes | |
| |