Difference between revisions of "Situs Judi Sbobet88 Gampang Menang Bonus New Member 100"

From AI Knowledge
Jump to: navigation, search
m
m
Line 1: Line 1:
Лучшее онлайн казино в Украине - Goxbet, в 2018 году предлагает свежий бездепозитный бонус за регистрацию - 450 гривен, 60 злотых или 900 рублей, в зависимости от выбранной игровой валюты. 13 января был разыгран рекордный джекпот в&nbsp;американской лотерее Powerball. Сумма выигрыша составила 1,6 миллиарда долларов. Его выиграли три билета, обладатели которых поделили выигрыш между собой. Шансы на&nbsp;выигрыш каждого билета, участвовавшего в&nbsp;розыгрыше, составляли 1 на&nbsp;292 миллиона. Пара из&nbsp;Флориды оказалась одним из&nbsp;трех обладателей выигрыша. Речь идет о&nbsp;70-летней Морин Смит и&nbsp;55-летнем Дэвиде Кальтшмидте. Они договорились с&nbsp;организаторами лотереи о&nbsp;единовременной выплате в&nbsp;327 миллионов долларов. Аналогичную стратегию избрали Джон и&nbsp;Лайза Робертсон из&nbsp;штата Теннесси. Еще один выигрышный билет был продан в&nbsp;Калифорнии, но&nbsp;кто его купил, неизвестно.<br />Сайт работает более десяти лет. Если бы это были аферисты, они бы неоднократно переименовали компанию или закрыли ее. Это главный довод. Второе: на сайте представлено множество вариантов оплаты, что означает, что ни у банков, ни у других финансовых учреждений претензий к работе компании нет. Третий довод: компания получает прибыль с разницы цены билета. Там он стоит дороже, чем у официального дистрибьютора. В [http://tmalpama.ru этом и заключается их] заработок. Фирма не берет никаких комиссий с выигрыша. У сайта есть более миллиона постоянных пользователей. Ему незачем обманывать их и лишаться солидных доходов. Сотрудники компании рады, когда их клиенты получают приз. Они забирают его от вашего имени и отправляют на указанный счет. Нет лучше рекламы, чем довольные клиенты, которые выиграли крупный приз в лотерею.<br />Накопительный бонус - подобную функцию обеспечивают только слоты онлайн. Важно учитывать, что эта возможность реализована далеко во всех автоматах, но многие пользователи выбирают для себя именно те машины, которые обеспечивают прогрессивный джекпот. Контролировать увеличение базовой суммы можно в отдельном окне, что достаточно удобно - можно вступить в игру именно тогда, когда выплата будет максимальной.<br />Интересно, что самый большой выигрыш в России составил всего около 100 миллионов рублей, которые достались заядлому игроку в лотереи, уроженцу Армении. Свой выигрыш обладатель джек-пота потратил всего за 2 года, оставшись в итоге ни с чем. Отметим, что наш соотечественник легко отделался. Еще одним примером того, как деньги могут стать причиной несчастья, является целая семья, которой также достался солидный куш в розыгрыше лотереи в нашей стране. Несмотря на солидную сумму, семья потратила все состояние за несколько лет, расходуя все на бесконечные гулянки и алкоголь. Итог, как вы понимаете, также был печален.<br />На сегодняшний день букмекеры принимают ставки на разные спортивные соревнования, лотереи, казино, многие мероприятия в области политической и культурной жизни государств. Единственное, что требуется от каппера - это выбрать конкретное событие для ставки и поставить сумму, которую он считает необходимой на выбранный исход. Если игрок проиграет, его сумма ставки уйдет букмекеру, а если выиграет - то сумма его ставки будет умножена на коэффициент, который составляет сделанная им ставка.<br />Ставка 35% распространяется на выигрыши в стимулирующих мероприятиях. Данные мероприятия проводятся в рамках рекламы и с целью увеличения товарооборота. Пренебрегать налоговым сбором не стоит, так как органы налоговой службы все равно будут уведомлены о выигрыши и при несвоевременной подачи декларации, отправят счет об оплате, где будут указаны и пени. В худшем случае, задолженность по налогам будет передана судебным приставам.<br />Речь не пойдет о лимитах игрового стола, которые задает онлайн-казино, я говорю о том, что важно установить ограничение в игре, исходя из Вашего бюджета. Будьте разумным игроком, установите для себя предел по сумме, которую Вы можете истратить за сеанс игры в онлайн-казино. Еще лучше, если таки лимиты Вы установите для каждой игры. Установили лимит? Теперь придерживайтесь его. Не стоит себя подбадривать фразами &laquo;Ну вот еще один бакс и все!&raquo;. Исчерпали лимит, значит выйдите из онлайн-казино. Так же ограничьте себя и во времени. Не стоит проводить сутки в онлайн-казино, даже если игра Ваша продвигается успешно и Вы все выигрываете и выигрываете. Дайте отдохнуть телу, сделайте перерыв. Помните, игра — это удовольствие, а не работа. Как рекомендуют специалисты (а речь сейчас о врачах), оптимальное время за компом без вреда для здоровья — полтора часа.<br />Когда вам везёт остановиться сложно. Ровно так же, как и в случае потери денег. Если вы проиграли до обозначенной черты - выйдите с казино, отдохните, отвлекитесь. Ни в коем случае не садитесь отыгрываться. Да, иногда это сделать удаётся, но в долгосрочной перспективе &laquo;оно того не стоит&raquo;.<br />Приведем пример. В случае если клуб имеет преимущество в 5%, то именно эту сумму он обязательно получит при проигрышах пользователей.Принцип действия рулетки включает все подобные нюансы, особенно, если посмотреть на вероятность получить приз, делая ставки на числа, не используя никакие стратегии и системы.
+
<h1>數據分析系統性能調整</h1><br /><br /><p>  銀行數據大集中之後,業務部門越來越迫切地希望能從現有的數據中找到對開展業務有價值的信息,提供更多的輔助功能。在此背景下,出現了各種各樣的分析系統,有的銀行正在規劃數據倉庫(DW)的開發,有些銀行已開發了客戶關係管理(CRM)系統。  DW與CRM都以數據分析為基礎,有的稱之為決策支持系統(DSS),有的稱之為商務智能(BI)。</p><br /><br /><p>但無論是CRM還是DW,都不容易實現,即便在歐美髮達國家已經有了成功的實踐經驗,國有四大商業銀行的賬務數據量之大和客戶數之多可能是歐美任何一家大銀行都無法相比的。在歐美,如果銀行的客戶數或賬戶數超過一千萬就是大型銀行了,與我國四大國有商業銀行的一些省級分行的數據量相當。</p><br /><br /><p>  要在四大國有商業銀行實施數據分析系統,即使使用最先進的計算機設備,最先進的應用系統,最科學的算法,都不得不面臨一個共同的問題——性能調整。  數據分析系統對響應速度的要求雖然沒有聯機交易系統高,但也有一定的業務要求,每天增量的數據轉換、裝載、抽取、更新等必須在規定許可的時間內處理完。</p><br /><br /><p>  1.OLTP系統重在聯機事務處理的響應速度、吞吐量;數據分析系統重在查詢,只有少量的聯機事務處理,其吞吐量主要表現為單位時間內允許的查詢數。  1.首先建立並定義性能指標。在系統正式投入生產之前就有明確的性能需求,數據量與要求實現的功能決定了要採用的系統平台。  2.制定並實施性能監控方案。</p><br /><br /><p>如什麼時候監控,監控的周期,並及時記錄監控的結果(包括各應用程序運行時各類資源的佔用情況、響應速度、各數據表的數據量及訪問頻率等)。  3.根據監控記錄分析各度量元素(響應速度、吞吐量、CPU、內存、I/O等)是否滿足預期定義的指標。  4.確定主要約束是CPU、內存、網絡,還是I/O,如CPU已達到或超過85%的利用率等。  5.確定可以調整的資源。</p><br /><br /><p>了解哪些方面可負擔得起性能改進,哪些資源可承受附加的負荷。  6.調整數據庫配置。每次更改一個,最好不要同時更改多個參數。  7.如果調整數據庫配置不起作用,則應調整操作系統或硬件配置。  以上是一個重複的過程。  性能調整不僅是系統管理員的事,更需要應用開發人員的配合。</p><br /><br /><p>不好的應用設計會吞噬掉機器的性能。  為了提高處理性能,應儘可能採用存儲過程而不採用嵌入SQL。  (1)同發出單一的SQL語句或發送整塊的PL/SQL文本到服務器相比,信息只需發送一次,減少了交互,通過網絡傳送的信息量較少。  (2)存儲過程經創建、分析、認證、編譯等處理後,存放在數據庫管理系統(DBMS)服務器,SQL語句是靜態的,可以即時調用,執行時不需要再編譯。</p><br /><br /><p>如果存儲過程已經在共享內存中,就不需要從磁盤中讀取,可以立即執行。  (3)減少對內存的需求。多個用戶執行時,只需將過程的單個拷貝即可,多用戶共享同樣的代碼。  (4)連續的執行以較小的開銷實現,從而改善性能。動態SQL每次運行都需要較大的預處理開銷。</p><br /><br /><p>與表和索引一樣,系統可以收集存儲過程的統計信息,優化器可以創建最合適的訪問計劃。  有數據表明,實現同一個功能,採用存儲過程只需採用嵌入SQL的20%的時間。使用存儲過程還比較安全,存儲過程的執行需要有該存儲過程定義者或所有者的權力,這樣就限制了用戶能夠執行的數據庫操作。</p><br /><br /><p>同時,使用存儲過程還能提高軟件開發的生產率,可以把存儲過程看成面向對象設計中的經過封裝的類,其他存儲過程或應用程序為完成某個功能,可以繼承該存儲過程而不需要重寫SQL語句。如果需要修改該存儲過程功能,也不必對所有繼承該存儲過程的應用進行修改,可使修改的工作量降到最小,保證了應用程序的完整性與一致性。</p><br /><br /><p>另外,存儲過程也是可重用的單元,對提高可靠性也有所幫助。  不要使用C++程序設計語言處理數據,更不要使用Java程序設計語言。 [https://www.satismax.hk/ 網絡營銷] 。</p><br /><br /><p>存儲過程有自身的缺陷,如編程語言SQL功能較差,與編程環境集成不夠,移植性差,能提供的內部功能函數有限,執行過程中能提供的信息有限,不便調試等,對於一些特定的業務需求目標和數據的具體情況,可能用嵌C更好。  建索引是提高數據訪問效率的重要途徑,但建索引有時並不一定能起到作用,索引不能滿足未知需求,有時會適得其反,降低系統性能。</p><br /><br /><p>  (1)索引數盡量少。當要在一個合理的時間內結束查詢時,應避免添加索引。過多的索引會降低更新操作的速度並消耗額外的空間,使磁盤有效使用率降低,增加系統的複雜性和管理成本。低速查詢不一定表示數據庫或索引有問題,很可能是程序有問題。  (2)基數較大的列很適合用來做索引。</p><br /><br /><p>如果索引的惟一值有限(如<100),則不宜使用索引。  (3)最好不選擇大的列作索引。  (4)考慮到管理上的開銷,應避免在索引中使用多於 5 個的列,避免覆蓋多個查詢的大型索引。  (5)對於多列索引,將查詢中引用最多的列放在定義的前面。  (6)添加與已有索引相似的索引會給優化器帶來更多的工作,降低更新操作的速度。如果需要,可以修改已有的索引,使其包含附加的列。</p><br /><br /><br /><br /><p>  (7)在經常進行連接,但沒有指定為外鍵的列上建立索引。  (8)在頻繁進行排序或分組的列上建立索引。  (9)在需要時建群集索引。群集索引允許對數據頁採用更線性的訪問模式,允許更有效的預取,並且有助於避免排序。這樣查詢操作會更快,但插入操作會慢。</p><br /><br /><p>適合插入更新頻率不高的表。  (10)確保最優的索引使用。  優化查詢的出發點是如何減少查詢的資源利用:減少I/O,減少運算量。可以用Set Explain命令分析各種查詢語句的效率。  (1)把頻繁使用的小表放在內存或高速緩存中,可以明顯減少I/O。  (2)減少所讀的行數和所讀或更新的列。</p><br /><br /><p>如,僅讀取滿足條件的第一條記錄,僅讀取或更新必須的列。  (3)用臨時表縮小查詢範圍。  (4)盡量避免子查詢和明確關聯的子查詢。  (5)避免複雜規則表達式。  (6)盡量使用數據庫引擎提供的函數,如:sum,avg,min,max。  (7)盡量使用連接而不用嵌套循環,避免連接長字符串。</p><br /><br /><p>  (8)盡量用Where縮小連接範圍。  (9)避免不必要的大表的全表搜索。  整數是最常用的數據類型,在運算字符串變量時計算機先把字符串中的每一個字符逐一轉換為整數,然後再對每一個整數分別進行運算。計算機軟件處理整數的效率要比處理字符串快2n倍,其中n是字符串中字符的個數。</p><br /><br /><p>  所以,在設計表結構時,一些計算時頻繁用到的字段,如分支機構代碼、系統用戶代碼、客戶代碼等,應盡量採用整數類型。   對少於或等於30個字節的字段,應避免使用可變長字符串(VARCHAR)數據類型。在這種情況下,VARCHAR類型通常會浪費空間,所以建議使用CHAR 類型。</p><br /><br /><p>如果數據量很大,空間的浪費往往會對查詢時間造成影響。  為了減少數據冗餘,數據建模時一般都需要規格化達到第三範式,如果需要冗餘也是因為外鍵關係和數據引用完整性的需要。適當的非規格化雖然需要佔用更多的空間,但通過減少頻繁的連接、聚集和推導可以提高數據查詢的性能。</p><br /><br /><p>例如,客戶經理號與客戶經理名,客戶經理名依賴客戶經理號,如果在客戶經理業績表中僅有客戶經理號,在查詢客戶經理業績時就需要做表的關聯,從而降低查詢響應速度。非規格化以數據更新和數據空間的損失為代價換取數據訪問的優化。</p><br /><br /><p>一般的非規格化形式有:列複製,創建數據陣列,預連接表,預聚集數據。  良好的算法,對提高性能有很大的幫助。對於一個業務功能,可以用多種算法去實現,因此應該評估每種算法的執行效率,從而選擇最優算法。  這裡說一下排序。是排序,就要耗費資源,所以應盡量減少排序,避免不必要的排序,簡化排序。</p><br /><br /><p>可以將數據放在臨時表中以避免排序,減少所需排序的行數,用簡單關鍵字排序,排序較少或較小的列,以簡化排序。  如果要排序應盡量使用內排序,避免使用外排序。外排序和內排序相比較要慢很多,而且磁盤排序會消耗臨時表空間中的資源。</p><br /><br /><p>  OLTP系統為了達到更新交易吞吐量的最大化,一般使用緩衝日誌,增加物理日誌長度,最大化寫入緩衝百分比。為防止任何DSS類型的查詢佔用系統資源,可通過將相關並行查詢參數配置設為較小值以限制並行查詢的資源(如Informix的PDQPRIORITY、Oracle的PQO並行查詢選項、DB2的INTRA_PARALLEL、CURRENT DEGREE等)。</p><br /><br /><p>  要使查詢引擎處理的查詢數最大化(吞吐量),以Informix為例,可以將相關的並行查詢參數設為PDQPRIORITY≤25%。  要使單個查詢的處理時間最小化(響應速度),可設置PDQPRIORITY=50%,最好採用快速CPU多處理器。  以上看起來似乎有些矛盾,但應根據實際情況平衡優先級。在不同的運行時間或針對不同的執行任務,使用不同的設置。</p><br /><br /><p>例如,日常工作時間用戶數較多時,將PDQPRIORITY設置為較低,同時限制一些大數據量的查詢,大數據量的查詢可以放在非工作時間做,可設置較高的PDQPRIORITY。  一些數據庫管理系統允許用戶設置頁面大小,如DB2,對於OLTP應用程序採用較小的頁面更為可取,這樣消耗的緩衝池中的空間更少。對OLAP應用程序,通常使用較大頁面,可以減少在讀取特定數量的行時發出的I/O請求的數量。</p><br /><br /><p>較大的頁面還可以減少索引中的層數。但是,如果行長度小於頁面大小的1/255,則每頁中都將存在浪費的空間,因為每頁最多只能有255行(對於索引數據頁不適用)。在這種情況下,採用較小的頁面大小或許更合適一些。  DB2、Informix、Oracle都有許多參數可以調整,這裡不一一敘述。  對於數據分析系統而言,由於系統用戶較少,網絡一般不會成為瓶頸。</p><br /><br /><p>所以系統方面主要考慮處理器、內存和磁盤,原則是並行性相較於速度而言對提高性能更有效。  對於大型分塊表,使用多CPU可以並行搜索每個分塊。增加CPU個數可以支持更多的用戶數並增加並行性。CPU越快,越能支持複雜查詢和大型數據庫。</p><br />

Revision as of 12:36, 6 June 2019

數據分析系統性能調整



  銀行數據大集中之後,業務部門越來越迫切地希望能從現有的數據中找到對開展業務有價值的信息,提供更多的輔助功能。在此背景下,出現了各種各樣的分析系統,有的銀行正在規劃數據倉庫(DW)的開發,有些銀行已開發了客戶關係管理(CRM)系統。  DW與CRM都以數據分析為基礎,有的稱之為決策支持系統(DSS),有的稱之為商務智能(BI)。



但無論是CRM還是DW,都不容易實現,即便在歐美髮達國家已經有了成功的實踐經驗,國有四大商業銀行的賬務數據量之大和客戶數之多可能是歐美任何一家大銀行都無法相比的。在歐美,如果銀行的客戶數或賬戶數超過一千萬就是大型銀行了,與我國四大國有商業銀行的一些省級分行的數據量相當。



  要在四大國有商業銀行實施數據分析系統,即使使用最先進的計算機設備,最先進的應用系統,最科學的算法,都不得不面臨一個共同的問題——性能調整。  數據分析系統對響應速度的要求雖然沒有聯機交易系統高,但也有一定的業務要求,每天增量的數據轉換、裝載、抽取、更新等必須在規定許可的時間內處理完。



  1.OLTP系統重在聯機事務處理的響應速度、吞吐量;數據分析系統重在查詢,只有少量的聯機事務處理,其吞吐量主要表現為單位時間內允許的查詢數。  1.首先建立並定義性能指標。在系統正式投入生產之前就有明確的性能需求,數據量與要求實現的功能決定了要採用的系統平台。  2.制定並實施性能監控方案。



如什麼時候監控,監控的周期,並及時記錄監控的結果(包括各應用程序運行時各類資源的佔用情況、響應速度、各數據表的數據量及訪問頻率等)。  3.根據監控記錄分析各度量元素(響應速度、吞吐量、CPU、內存、I/O等)是否滿足預期定義的指標。  4.確定主要約束是CPU、內存、網絡,還是I/O,如CPU已達到或超過85%的利用率等。  5.確定可以調整的資源。



了解哪些方面可負擔得起性能改進,哪些資源可承受附加的負荷。  6.調整數據庫配置。每次更改一個,最好不要同時更改多個參數。  7.如果調整數據庫配置不起作用,則應調整操作系統或硬件配置。  以上是一個重複的過程。  性能調整不僅是系統管理員的事,更需要應用開發人員的配合。



不好的應用設計會吞噬掉機器的性能。  為了提高處理性能,應儘可能採用存儲過程而不採用嵌入SQL。  (1)同發出單一的SQL語句或發送整塊的PL/SQL文本到服務器相比,信息只需發送一次,減少了交互,通過網絡傳送的信息量較少。  (2)存儲過程經創建、分析、認證、編譯等處理後,存放在數據庫管理系統(DBMS)服務器,SQL語句是靜態的,可以即時調用,執行時不需要再編譯。



如果存儲過程已經在共享內存中,就不需要從磁盤中讀取,可以立即執行。  (3)減少對內存的需求。多個用戶執行時,只需將過程的單個拷貝即可,多用戶共享同樣的代碼。  (4)連續的執行以較小的開銷實現,從而改善性能。動態SQL每次運行都需要較大的預處理開銷。



與表和索引一樣,系統可以收集存儲過程的統計信息,優化器可以創建最合適的訪問計劃。  有數據表明,實現同一個功能,採用存儲過程只需採用嵌入SQL的20%的時間。使用存儲過程還比較安全,存儲過程的執行需要有該存儲過程定義者或所有者的權力,這樣就限制了用戶能夠執行的數據庫操作。



同時,使用存儲過程還能提高軟件開發的生產率,可以把存儲過程看成面向對象設計中的經過封裝的類,其他存儲過程或應用程序為完成某個功能,可以繼承該存儲過程而不需要重寫SQL語句。如果需要修改該存儲過程功能,也不必對所有繼承該存儲過程的應用進行修改,可使修改的工作量降到最小,保證了應用程序的完整性與一致性。



另外,存儲過程也是可重用的單元,對提高可靠性也有所幫助。  不要使用C++程序設計語言處理數據,更不要使用Java程序設計語言。 網絡營銷



存儲過程有自身的缺陷,如編程語言SQL功能較差,與編程環境集成不夠,移植性差,能提供的內部功能函數有限,執行過程中能提供的信息有限,不便調試等,對於一些特定的業務需求目標和數據的具體情況,可能用嵌C更好。  建索引是提高數據訪問效率的重要途徑,但建索引有時並不一定能起到作用,索引不能滿足未知需求,有時會適得其反,降低系統性能。



  (1)索引數盡量少。當要在一個合理的時間內結束查詢時,應避免添加索引。過多的索引會降低更新操作的速度並消耗額外的空間,使磁盤有效使用率降低,增加系統的複雜性和管理成本。低速查詢不一定表示數據庫或索引有問題,很可能是程序有問題。  (2)基數較大的列很適合用來做索引。



如果索引的惟一值有限(如<100),則不宜使用索引。  (3)最好不選擇大的列作索引。  (4)考慮到管理上的開銷,應避免在索引中使用多於 5 個的列,避免覆蓋多個查詢的大型索引。  (5)對於多列索引,將查詢中引用最多的列放在定義的前面。  (6)添加與已有索引相似的索引會給優化器帶來更多的工作,降低更新操作的速度。如果需要,可以修改已有的索引,使其包含附加的列。





  (7)在經常進行連接,但沒有指定為外鍵的列上建立索引。  (8)在頻繁進行排序或分組的列上建立索引。  (9)在需要時建群集索引。群集索引允許對數據頁採用更線性的訪問模式,允許更有效的預取,並且有助於避免排序。這樣查詢操作會更快,但插入操作會慢。



適合插入更新頻率不高的表。  (10)確保最優的索引使用。  優化查詢的出發點是如何減少查詢的資源利用:減少I/O,減少運算量。可以用Set Explain命令分析各種查詢語句的效率。  (1)把頻繁使用的小表放在內存或高速緩存中,可以明顯減少I/O。  (2)減少所讀的行數和所讀或更新的列。



如,僅讀取滿足條件的第一條記錄,僅讀取或更新必須的列。  (3)用臨時表縮小查詢範圍。  (4)盡量避免子查詢和明確關聯的子查詢。  (5)避免複雜規則表達式。  (6)盡量使用數據庫引擎提供的函數,如:sum,avg,min,max。  (7)盡量使用連接而不用嵌套循環,避免連接長字符串。



  (8)盡量用Where縮小連接範圍。  (9)避免不必要的大表的全表搜索。  整數是最常用的數據類型,在運算字符串變量時計算機先把字符串中的每一個字符逐一轉換為整數,然後再對每一個整數分別進行運算。計算機軟件處理整數的效率要比處理字符串快2n倍,其中n是字符串中字符的個數。



  所以,在設計表結構時,一些計算時頻繁用到的字段,如分支機構代碼、系統用戶代碼、客戶代碼等,應盡量採用整數類型。   對少於或等於30個字節的字段,應避免使用可變長字符串(VARCHAR)數據類型。在這種情況下,VARCHAR類型通常會浪費空間,所以建議使用CHAR 類型。



如果數據量很大,空間的浪費往往會對查詢時間造成影響。  為了減少數據冗餘,數據建模時一般都需要規格化達到第三範式,如果需要冗餘也是因為外鍵關係和數據引用完整性的需要。適當的非規格化雖然需要佔用更多的空間,但通過減少頻繁的連接、聚集和推導可以提高數據查詢的性能。



例如,客戶經理號與客戶經理名,客戶經理名依賴客戶經理號,如果在客戶經理業績表中僅有客戶經理號,在查詢客戶經理業績時就需要做表的關聯,從而降低查詢響應速度。非規格化以數據更新和數據空間的損失為代價換取數據訪問的優化。



一般的非規格化形式有:列複製,創建數據陣列,預連接表,預聚集數據。  良好的算法,對提高性能有很大的幫助。對於一個業務功能,可以用多種算法去實現,因此應該評估每種算法的執行效率,從而選擇最優算法。  這裡說一下排序。是排序,就要耗費資源,所以應盡量減少排序,避免不必要的排序,簡化排序。



可以將數據放在臨時表中以避免排序,減少所需排序的行數,用簡單關鍵字排序,排序較少或較小的列,以簡化排序。  如果要排序應盡量使用內排序,避免使用外排序。外排序和內排序相比較要慢很多,而且磁盤排序會消耗臨時表空間中的資源。



  OLTP系統為了達到更新交易吞吐量的最大化,一般使用緩衝日誌,增加物理日誌長度,最大化寫入緩衝百分比。為防止任何DSS類型的查詢佔用系統資源,可通過將相關並行查詢參數配置設為較小值以限制並行查詢的資源(如Informix的PDQPRIORITY、Oracle的PQO並行查詢選項、DB2的INTRA_PARALLEL、CURRENT DEGREE等)。



  要使查詢引擎處理的查詢數最大化(吞吐量),以Informix為例,可以將相關的並行查詢參數設為PDQPRIORITY≤25%。  要使單個查詢的處理時間最小化(響應速度),可設置PDQPRIORITY=50%,最好採用快速CPU多處理器。  以上看起來似乎有些矛盾,但應根據實際情況平衡優先級。在不同的運行時間或針對不同的執行任務,使用不同的設置。



例如,日常工作時間用戶數較多時,將PDQPRIORITY設置為較低,同時限制一些大數據量的查詢,大數據量的查詢可以放在非工作時間做,可設置較高的PDQPRIORITY。  一些數據庫管理系統允許用戶設置頁面大小,如DB2,對於OLTP應用程序採用較小的頁面更為可取,這樣消耗的緩衝池中的空間更少。對OLAP應用程序,通常使用較大頁面,可以減少在讀取特定數量的行時發出的I/O請求的數量。



較大的頁面還可以減少索引中的層數。但是,如果行長度小於頁面大小的1/255,則每頁中都將存在浪費的空間,因為每頁最多只能有255行(對於索引數據頁不適用)。在這種情況下,採用較小的頁面大小或許更合適一些。  DB2、Informix、Oracle都有許多參數可以調整,這裡不一一敘述。  對於數據分析系統而言,由於系統用戶較少,網絡一般不會成為瓶頸。



所以系統方面主要考慮處理器、內存和磁盤,原則是並行性相較於速度而言對提高性能更有效。  對於大型分塊表,使用多CPU可以並行搜索每個分塊。增加CPU個數可以支持更多的用戶數並增加並行性。CPU越快,越能支持複雜查詢和大型數據庫。