Time of Update: 2017-01-13
線上業務使用到了ORM架構,發現了一個慢查詢sql,同一個欄位做了兩次排序,導致產生了filesort。ORM架構內建的表結構如下:CREATE TABLE `unopen` ( `corp` tinyint(3) unsigned NOT NULL DEFAULT '0', `invtype` tinyint(3) NOT NULL DEFAULT '1', `uid` int(10) NOT NULL DEFAULT '0',
Time of Update: 2017-01-13
以下為 import.php 來源程式 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ <html> <head> <style type=text/css> body,td,li,div,p,pre,a,b,h1,h2,h3,h4 {font-family:verdana;font-size:9pt;line-height : 18px;color:#a00000 } </style> &
Time of Update: 2017-01-13
近日,本人為了將為公司開發的一個資訊管理系統從以前試啟動並執行開發機器上(Windows NT + IIS4.0 + Access)遷移至一台真正的Linux伺服器上(Apache1.3.12 + PHP 4.03 + MySQL
Time of Update: 2017-01-13
不同資料庫之間若不能匯入匯出,那麼將是一件可怕的事情,所幸的是一般情況下通過不同的方法和途徑,都可以實現,方法有多種,本人提供其中的一個,提供一個自己的處理思路,意在拋磚引玉, 第一步:首先將access資料庫利用自身的匯出功能,自訂一種容易對其操作的格式的txt文字文件,這也是關係到下一步操作的關鍵。
Time of Update: 2017-01-13
因為太多的索引與不充分、不正確的索引對效能都毫無益處:在表上建立的每個索引都會增加儲存開銷,索引對於插入、刪除、更新操作也會增加處理上的開銷。另外,過多的複合索引,在有單欄位索引的情況下,一般都是沒有存在價值的;相反,還會降低資料增加刪除時的效能,特別是對頻繁更新的表來說,負面影響更大。索引既然這麼重要,那麼應該在什麼情況下建立索引,在什麼情況下又不能建立索引呢?下面分享Mysql是否需要建立索引的九大情境:1、表的主鍵、外鍵必須有索引;2、資料量超過300的表應該有索引;3、經常與其他表進行串
Time of Update: 2017-01-13
查看是否支援 SSL 首先在 MySQL 上執行如下命令, 查詢是否 MySQL 支援 SSL:mysql> SHOW VARIABLES LIKE 'have_ssl';+---------------+-------+| Variable_name | Value |+---------------+-------+| have_ssl | YES |+---------------+-------+1 row in set (0.02 sec)當 have_ssl 為 YES 時,
Time of Update: 2017-01-13
前言 本文的內容主要是介紹了MYSQL每隔10分鐘進行分組統計的實現方法,在畫使用者登入、操作情況在一天內的分布圖時會非常有用,之前我只知道用「預存程序」實現的方法(雖然執行速度快,但真的是太不靈活了),後來學會了用進階點的「group by」方法來靈活實作類別似功能。本文: -- time_str '2016-11-20 04:31:11' -- date_str 201611
Time of Update: 2017-01-13
1、通過floor報錯可以通過如下一些利用代碼and select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a);and (select count(*) from (select 1 union select null union select !1)x group by concat((select table_name
Time of Update: 2017-01-13
摘要: 利用binlog閃回誤操作資料。基本上每個跟資料庫打交道的程式員(當然也可能是你同事)都會碰一個問題,MySQL誤操作後如何快速復原?比如,delete一張表,忘加限制條件,整張表沒了。假如這還是線上環境核心業務資料,那這事就鬧大了。誤操作後,能快速復原資料是非常重要的。傳統解法 用全量備份重搭執行個體,再利用增量binlog備份,恢複到誤操作之前的狀態。然後跳過誤操作的SQL,再繼續應用binlog。此法費時費力,不值得再推薦。利用binlog2sql快速閃回
Time of Update: 2017-01-13
有次同事提出開發使用的MySQL資料庫連接很慢,因為我們的MySQL開發資料庫是單獨一台機器部署的,所以認為可能是網路連接問題導致的。在進行 ping和route後發現網路通訊都是正常的,而且在MySQL機器上進行本地串連發現是很快的,所以網路問題基本上被排除了。以前也遇到過一次這樣的問題,可後來就不知怎麼突然好了,這次又遭遇這樣的問題,所以想看看是不是MySQL的配置問題。在查詢MySQL相關文檔和網路搜尋後,發現了一個配置似乎可以解決這樣的問題,就是在MySQL的設定檔中增加如下配置參數:[
Time of Update: 2017-01-13
我們先來看代碼:<?phprequire 'class/db.php';$sql = "select * from information_schema.tables where table_schema='ecshop' and table_type='base table' order by TABLE_ROWS desc ";$arr = $db->queryArray($sql);//var_dump($arr);foreach ($arr as $k => $
Time of Update: 2017-01-13
一般情況下mysql的啟動錯誤還是很容易排查的,但是今天我們就來說一下不一般的情況。拿到一台伺服器,安裝完mysql後進行啟動,啟動錯誤如下。 有同學會說,哥們兒你是不是buffer pool設定太大了,設定了96G記憶體。這明顯提示無法分配記憶體嘛。如果真是這樣也就不在這裡進行分享了,哈哈。我的伺服器記憶體是128G。如下圖: 伺服器記憶體使用量情況: 那麼問題來了,既然還剩如此多的記憶體,為什麼提示無法分配記憶體? 1.
Time of Update: 2017-01-13
現在讓我們把MySQL儲存引擎的問題放在一邊。如果你的MySQL表都是用的InnoDB而你不需要關心InnoDB是如何運作的,你已經設定了,但不確定是否生效。這些問題將在下面會提到。關於儲存引擎MySQL自20多年前成立以來一直支援可插拔儲存引擎,但在一段相當長的時間裡MyISAM一直是預設的儲存引擎,許多人運行MySQL甚至對底層儲存引擎一點都不瞭解。畢竟,MySQL剛開始是為小型網站的小型資料庫設計的,許多應用已經習慣使用MyISAM儲存引擎。剛開始沒什麼問題,一切正常,但現在的問題是:My
Time of Update: 2017-01-13
什麼是INNODB BUFFER POOL電腦使用它們的大部分記憶體來提升對經常訪問的資料的效能。這就是我們所知的緩衝,是系統的一個非常重要的組成部分,因為訪問硬碟的資料可能會慢到100到100000倍,這取決你訪問的資料量。MyISAM是使用作業系統的檔案系統快取來緩衝那些經常被查詢的資料。然而InnoDB使用的是一種非常不同的方法。不依賴作業系統的緩衝,InnoDB自己在InnoDB Buffer Pool處理緩衝。經過這篇文章你會學到它是如何工作的,為什麼以那種方式來實施是一個不錯的想法。
Time of Update: 2017-01-13
什麼是InnoDB交易記錄你有沒有在文字編輯器中使用過撤消或重做的功能,想像一下編輯器在那種情境下的操作?我確信你應該使用過。你相信嗎?事務型資料庫有同樣的功能。可能不完全一樣,但原理是相同的。就像當你編輯文字時始終有能力撤消數步的重要性一樣,重做和撤消功能也對事務型資料一樣重要。為什麼呢?主要有兩個原因:1.復原事務(那是撤消)2.在資料庫崩潰的情況下回放已提交的事務(那是重做)撤消當你使用的是事務儲存引擎(假設是InnoDB),你更改一個記錄時,更改並沒有馬上寫入資料檔案。首先,它們被寫入到
Time of Update: 2017-01-13
IIS+PHP 不能載入MYSQL undefined function mysql教程_connect() 在很多php教程初學者都會在初次php mysql時出來undefined function mysql_connect()
Time of Update: 2017-01-13
PHP 可以跨平台運行,這意味著您可以在Windows上開發,然後在Unix/Linux平台上運行。如何能夠簡單而快速的在WINDOWS下安裝使用PHP是初學者所嚮往的,因為我們當中有一部分人還是習慣使用WINDOWS,習慣WINDOWS的開發環境,而不能夠熟練使用Linux/Unix。如果你正用WINDOWS9X,我建議你還是試一下。先讓我們看一下學習PHP所需要的環境: 1。WINDOWS 2。要有一個伺服器軟體OmniHTTPD
Time of Update: 2017-01-13
我的php4和mysql的軟體包是php-4.0.1pl2-Win32.zip、mysql-3.23.19-beta-win.zip。先安裝mysql,用winzip8.0開啟軟體包進行完整安裝,預設安裝路徑為:c:mysql; 安裝完成後,開啟“開始”按鈕中的“運行”,輸入命令:C:mysqlinmysqld-nt.exe
Time of Update: 2017-01-13
5) int mysql_data_seek(int result_id, int row_num);
Time of Update: 2017-01-13
php mysql查詢類<?php class Ring{ var $q_uid; var $q_name; var $q_type; var $q_head; var $q_sex; var $q_reg; public check_user($id){