במאמר הזה מפורטות פקודות SQL shell שנתמכות ב-Spanner Omni. Spanner Omni ו-Spanner תומכים באותן פקודות של מעטפת SQL.
| תחביר הפקודה | תיאור |
|---|---|
SHOW DATABASES;
|
הצגת רשימה של מסדי נתונים. |
USE
|
החלפת מסד נתונים. התפקיד שאתם מגדירים משמש לבקרת גישה פרטנית. |
CREATE DATABASE
|
יצירת מסד נתונים. |
DROP DATABASE
|
מחיקה של מסד נתונים. |
SHOW TABLES [
|
הצגת רשימת הטבלאות. אם לא מספקים סכימה, Spanner משתמש בסכימת ברירת המחדל. |
SHOW CREATE TABLE
|
הצגת סכימת הטבלה. |
SHOW COLUMNS FROM
|
הצגת העמודות. |
SHOW INDEX FROM
|
הצגת אינדקסים. |
CREATE TABLE ...;
|
יצירת טבלה. |
ALTER TABLE ...;
|
שינוי סכימת הטבלה. |
DROP TABLE ...;
|
מחיקת הטבלה. |
TRUNCATE TABLE
|
חיתוך הטבלה. מחיקת שורות בלבד. הפקודה הזו לא אטומיות כי היא מבוצעת כפקודת DML מחולקת. |
CREATE INDEX ...;
|
יצירת אינדקס. |
DROP INDEX ...;
|
מחיקת האינדקס. |
CREATE ROLE ...;
|
יצירת תפקיד. מידע נוסף מופיע במאמר סקירה כללית על IAM ב-Spanner. |
DROP ROLE ...;
|
מחיקת התפקיד. |
GRANT ...;
|
נותנים הרשאה לתפקיד. |
REVOKE ...;
|
ביטול הרשאה מתפקיד. |
SELECT ...;
|
מריצים שאילתה. |
{ INSERT|UPDATE|DELETE } ...;
|
להריץ פקודת DML. |
PARTITIONED { UPDATE|DELETE } ...;
|
מריצים פקודת DML מחולקת למחיצות. הפקודה הזו לא אטומית. |
EXPLAIN SELECT ...;
|
הצגת תוכנית ביצוע של שאילתה. מידע נוסף זמין במאמר בנושא תוכניות להפעלת שאילתות. |
EXPLAIN {INSERT|UPDATE|DELETE} ...;
|
הצגת תוכנית הביצוע של DML. |
EXPLAIN ANALYZE SELECT ...;
|
הצגת תוכנית להפעלת שאילתות עם נתונים סטטיסטיים של הכלי לאופטימיזציה. מידע נוסף זמין במאמר בנושא חבילות נתונים סטטיסטיים של כלי האופטימיזציה. |
EXPLAIN ANALYZE {INSERT|UPDATE|DELETE} ...;
|
הצגת תוכנית הביצוע של DML עם נתונים סטטיסטיים של הכלי לאופטימיזציה. מידע נוסף זמין במאמר בנושא חבילות נתונים סטטיסטיים של כלי האופטימיזציה. |
DESCRIBE SELECT ...;
|
הצגת הצורה של תוצאת השאילתה. |
DESCRIBE {INSERT|UPDATE|DELETE} ... THEN RETURN ...;
|
הצגת צורת התוצאה של DML. |
ANALYZE;
|
התחלת בנייה של חבילת נתונים סטטיסטיים חדשה של אופטימיזטור השאילתות. |
START BATCH DDL;
|
מתחילים קבוצת DDL. |
RUN BATCH;
|
מריצים פקודות באצווה. |
ABORT BATCH;
|
ביטול פקודות להעלאה בכמות גדולה. |
BEGIN [RW] [ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG
|
מתחילים טרנזקציה עם הרשאת קריאה וכתיבה. מידע נוסף זמין במאמר פקודות של עסקאות. |
COMMIT;
|
שמירת עסקה עם הרשאות קריאה וכתיבה. |
ROLLBACK;
|
ביטול (undo) של עסקת קריאה-כתיבה. |
BEGIN RO [{
|
מתחילים טרנזקציה עם הרשאת קריאה בלבד. seconds ו-RFC 3339-formatted_time משמשים לקריאות לא עדכניות. מידע נוסף זמין במאמר פקודות של עסקאות. |
CLOSE;
|
סיום של עסקה עם הרשאת קריאה בלבד. |
EXIT;
|
יוצאים מ-Spanner Omni. |
פקודות BATCH
Spanner Omni מאפשר לבצע פעולות DDL במצב אצווה, שבו כמה הצהרות DDL מקובצות לפעולה אחת, וכך שינויים בסכימה מתבצעים מהר יותר. Spanner Omni תומך בפקודות BATCH הבאות:
START BATCH DDL;
הפקודה הזו מפעילה קבוצת DDL. כל הצהרות ה-DDL הבאות (לדוגמה, CREATE TABLE, ALTER TABLE, DROP INDEX) שמופעלות בסשן הזה נשארות במצב 'בהמתנה' ולא מוחלות על מסד הנתונים באופן מיידי.
RUN BATCH;
אחרי שמריצים את הפקודה START BATCH DDL ואת הצהרות ה-DDL הבאות, משתמשים בפקודה RUN
BATCH כדי לשלוח את כל פעולות ה-DDL שממתינות כבקשה אחת ל-Spanner. הפקודה הזו מצמצמת את התקורה שמשויכת להצהרות DDL נפרדות, וכך מובילה לשינויים מהירים יותר בסכימה.
ABORT BATCH;
אם תחליטו לא להחיל את שינויי ה-DDL שממתינים לאישור, תצטרכו להשתמש בפקודה ABORT BATCH. הפקודה הזו מבטלת את כל הצהרות ה-DDL שנאספו מאז שהוצאה הפקודה START BATCH DDL, ומבצעת למעשה ביטול של הפעולות שבוצעו באצווה, כך שסכימת מסד הנתונים לא משתנה.
פקודות של עסקאות
Spanner Omni תומך בפקודות SQL הבאות של טרנזקציות:
BEGIN [TRANSACTION] [RO] [seconds|RFC 3339-formatted_time ]
[ISOLATION LEVEL {SERIALIZABLE|REPEATABLE READ}]
[PRIORITY {HIGH|MEDIUM|LOW}] [TAG tag_name];
מתחילים עסקה. אפשר להגדיר את האפשרויות הבאות:
- סוג העסקה: התחלת עסקה לקריאה ולכתיבה (לא נדרש פרמטר) או לקריאה בלבד (
RO). - זמן קריאה בעבר: הגדרת הזמן, בשניות או בפורמט RFC 3339, לקריאת נתונים מחותמת זמן ספציפית.
- רמת בידוד: הגדרה של רמת הבידוד של טרנזקציות קריאה-כתיבה. כברירת מחדל, נעשה שימוש בבידוד שניתן לסדר. מידע נוסף זמין במאמר סקירה כללית של רמות הבידוד.
- עדיפות: הגדרת העדיפות של הבקשה לעסקה. העדיפות הבינונית מוגדרת כברירת מחדל.
תג: מגדירים תגי עסקאות באמצעות הפקודה
BEGIN.- בעסקה עם הרשאת קריאה וכתיבה, מוסיפים תג עם
BEGIN TAG tag. התג Spanner Omni מוסיף את התג כתג טרנזקציה. התג משמש גם כתג בקשה בתוך העסקה. - בעסקה לקריאה בלבד, מוסיפים תג עם
BEGIN RO TAG tag. מכיוון שעסקאות לקריאה בלבד לא תומכות בתגי עסקאות, Spanner מוסיף את התג כתג בקשה.
- בעסקה עם הרשאת קריאה וכתיבה, מוסיפים תג עם
COMMIT;
לסיים את העסקה ולבצע את כל השינויים באופן קבוע בעסקה עם הרשאת קריאה וכתיבה.
CLOSE;
סגירת טרנזקציה לקריאה בלבד.
ROLLBACK;
ביטול (undo) של עסקת קריאה-כתיבה.