クエリ:
mysqli_query($link
"UPDATE users SET lastclick = '". time() ."', lastpage = '". ucfirst(page) ."'
WHERE id = '". $user['id'] ."' ");
時間がかかりすぎます(100 ミリ秒以上)。このクエリを高速化するにはどうすればよいですか / このクエリを高速化することは可能ですか?
テーブル構造

私の頭に浮かぶことの1つは、時間の値を入力するときに、なぜlastclick列が に設定されているのですか? INTまた、idクエリの列については、一重引用符は必要ありません。整数を入力すると、列も整数として定義されます。このクエリを試してください:
UPDATE users
SET lastclick = UNIX_TIMESTAMP(),
lastpage = '". ucfirst(page) ."'
WHERE id = ". $user['id'] ."
次のような同様のクエリを呼び出して、テーブル構造を変更する必要もあります。
ALTER TABLE users
MODIFY lastclick TIMESTAMP NOT NULL;
ALTER TABLEステートメント構文の詳細については、MySQL リファレンス マニュアルを参照してください。また、UNIX_TIMESTAMP()コマンドのヘルプ ページを参照してください。
カラムを として定義することによりTIMESTAMP、MySQL はデータを UNIX タイムスタンプ値として内部的に保存します。ステートメントを実行するSELECTと、MySQL は自動的にデータ値をタイムスタンプ形式に転送します。データをフォーマットされた文字列ではなく UNIX タイムスタンプとして受け取る場合は、UNIX_TIMESTAMP()次のような同じコマンドを使用します。
SELECT UNIX_TIMESTAMP(lastclick)
FROM users;