About optimizer mode
Hi,
How to change the optimizer mode from ALL_ROWS
Thanks
Whether we do not know the OP's Oracle version, we can assume it is not 8i or 9i. Do you realize the link you provided is very old. Still speaking about RULE optimizer, "analyze table" command (both becoming obsolete then depracted) without telling anything about more modern database such as 10g+. Moreover there're some rule of thumbs which can mislead query tuning.
Much better to refer to the Oracle document that Pierre linked to in first place.
And why not ask to the OP, why he/she wants to modify the optimizer from ALL_ROWS to what value with what expected results, based on what analyzes...
Nicolas.
Similar Messages
-
Hello experts,
When we set optimizer mode to first_rows_100 or first_rows etc. The fetch rows doesn't change. I am trying to understand the differences between first_rows and all_rows. It gives preference to index scan against full table scan, even the index scan is no good. And also prefers nested loop over hash join. HOWEVER, except all these, please correct me if I am wrong, I do understand that first_nows_100 only fetch 100 rows regardless default fecth row, am I wrong? What do you think about the following example in terms of CONSISTENT GETS????
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> alter system flush shared_pool;
Sistem dei■tirildi.
SQL> set autotrace traceonly
SQL> select * from my_test where id < 181000;
31000 sat²rlar² seildi.
Y³r³tme Plan²
Plan hash value: 1615681525
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 31001 | 605K| 53 (2)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| MY_TEST | 31001 | 605K| 53 (2)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("ID"<181000)
¦statistikler
454 recursive calls
0 db block gets
2323 consistent gets
93 physical reads
116 redo size
843244 bytes sent via SQL*Net to client
23245 bytes received via SQL*Net from client
2068 SQL*Net roundtrips to/from client
6 sorts (memory)
0 sorts (disk)
31000 rows processed
SQL> select * from my_test where id < 181000;
31000 sat²rlar² seildi.
Y³r³tme Plan²
Plan hash value: 1615681525
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 31001 | 605K| 53 (2)| 00:00:01 |
|* 1 | TABLE ACCESS FULL| MY_TEST | 31001 | 605K| 53 (2)| 00:00:01 |
Predicate Information (identified by operation id):
1 - filter("ID"<181000)
¦statistikler
0 recursive calls
0 db block gets
2235 consistent gets
0 physical reads
0 redo size
843244 bytes sent via SQL*Net to client
23245 bytes received via SQL*Net from client
2068 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
31000 rows processed
SQL> alter session set optimizer_mode = FIRST_ROWS_100;
Oturum dei■tirildi.
SQL> select * from my_test where id < 181000;
31000 sat²rlar² seildi.
Y³r³tme Plan²
Plan hash value: 509756919
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)
| Time |
| 0 | SELECT STATEMENT | | 100 | 2000 | 4 (0)
| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| MY_TEST | 100 | 2000 | 4 (0)
| 00:00:01 |
|* 2 | INDEX RANGE SCAN | SYS_C0011105 | | | 2 (0)
| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("ID"<181000)
¦statistikler
1 recursive calls
0 db block gets
4402 consistent gets
0 physical reads
0 redo size
1159430 bytes sent via SQL*Net to client
23245 bytes received via SQL*Net from client
2068 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
31000 rows processed
Thanks in adnvance.the first_rows(n) hint is only about costing and instructs the optimizer to find a plan that returns the first n rows as fast as possible - though this approach may increase the total execution time for the query. This could be useful for applications that need only the top results most the time. Consider the following example:
drop table t;
create table t (
col1 not null
, col2
as
select mod(rownum, 100) col1
, lpad('*', 50, '*') col2
from dual
connect by level <= 100000;
exec dbms_stats.gather_table_stats(user, 'T')
create index t_idx on t(col1);
explain plan for
select *
from t
where col1 = 1
order by col1;
select * from table(dbms_xplan.display);
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1000 | 54000 | 423 (0)| 00:00:03 |
|* 1 | TABLE ACCESS FULL| T | 1000 | 54000 | 423 (0)| 00:00:03 |
Predicate Information (identified by operation id):
1 - filter("COL1"=1)
explain plan for
select /*+ first_rows(10) */
from t
where col1 = 1
order by col1;
select * from table(dbms_xplan.display);
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 10 | 540 | 10 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| T | 10 | 540 | 10 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | T_IDX | | | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("COL1"=1)
Obiously the hint changes the costing massively - and for the given query the top 10 results could indeed be returned faster by the index scan (though the difference would be small for this small example).
The details of the costing are not that simple and they are described in Randolf Geist's presentation http://www.sqltools-plusplus.org:7676/media/FIRST_ROWS_n%20presentation%20UKOUG%202009.pdf (titled: Everything you wanted to know about first_rows_n but were afraid to ask). -
(V7.3)NEW FEATURES ABOUT OPTIMIZATION IN RELEASE 7.2 & 7.3
제품 : ORACLE SERVER
작성날짜 : 2003-02-24
(V7.3)NEW FEATURES ABOUT OPTIMIZATION IN RELEASE 7.2 & 7.3
==========================================================
PURPOSE
Oracle RDBMS V7.2와 V7.3에서 Optimization에 관한 new feature를
알아보기로 한다.
Explanation
다음과 같은 대표적인 기능 9가지가 있습니다.
1> Direct Database Reads
Parallel query 프로세스들은 필터링이나, 소팅, 조인과 같은 작업을
수행하기 위해서는 아주 큰 테이블을 scanning해야 합니다. Direct Database
Reads는 read efficiency와 성능의 향상을 위해 contiguous memory read를
가능하게 해줍니다.
또한, concurrent OLTP와 같은 작업을 수행시 따르는 경합을 없애기
위해 버퍼 캐쉬를 bypass합니다.
2> Direct Database Writes
Parallel query 프로세스들은 intermediate sort runs, summarization
(CREATE TABLE AS SELECT), index creation(CREATE INDEX)과 같은 작업의
수행 결과를 디스크에 종종 기록해야 합니다.
Direct Database Writes는 write efficiency와 성능의 향상을 위해
direct contiguous memory로 하여금 contiguous disk writes를 가능하게
해줍니다.
또한, concurrent OLTP 작업과 DBWR 프로세스에 의한 경합을 없애기 위해
버퍼 캐쉬를 bypass합니다.
결론적으로, Direct Database Reads와 Writes는 concurrent OLTP와 DSS
작업에 따르는 복잡한 부하를 조절하면서 Oracle 7 서버를 분리된 형태로,
또한 최적의 튜닝을 가능하게 해줍니다.
3> Asynchronous I/O
Oracle 7은 이미 sorts, summarization, index creation, direct-path
loading 에 대한 asynchronous write 기능을 제공하고 있습니다.
Release 7.3부터는 보다 나은 성능의 향상을 위해 asynchronous
read-ahead 기능을 제공하여 최대한 processing과 I/O의 병행성을 증가
시켜 줍니다.
4> Parallel Table Creation
CREATE TABLE ... AS SELECT ...와 같은 구문을 제공하여 상세한 데이타를
갖는 큰 테이블의 조회된 결과를 저장하기 위해 임시 테이블을 생성합니다.
이 기능은 보통 intermediate operation의 결과를 저장하기 위해
drill-down 분석을 할 때 사용됩니다.
5> Support for the Star Query Optimization
Oracle 7은 수행 속도의 향상을 위해 star 스키마가 존재하고, star query
optimization을 invoke 합니다. Star query는 먼저 여러 개의 작은 테이블을
join하고, 그런 후에, 그 결과를 하나의 큰 테이블로 join합니다.
6> Intelligent Function Shipping
Release 7.3부터 parallel query를 처리하는 coordinator 프로세스는
non-shared memory machine(cluster 또는 MPP) 내의 노드들을 처리하기
위해 디스크나 데이타들 간의 유사성에 대해 인식하게 될 것입니다.
이 사실에 근거하여, coordinator는 data들이 machine의 shared
interconnect를 통해 전달될 필요가 없다는 점에서, 특정 node-disk pair로
수행되고 있는 프로세스들에게 parallel query operation을 지정할 수
있습니다.
이 기능은 연관된 cost나 overhead없이 'shared nothing' 소프트웨어
아키텍쳐의 잇점을 제공하면서 효율성과 성능, 확장성을 개선할 수 있습니다.
7> Histograms
Release 7.3부터 Oracle optimizer는 테이블의 컬럼 내에 있는 데이타 값의
분포에 관한 더 많은 정보를 이용할 수 있습니다. Value와 상대적 빈도수를
나타내는 histogram은 optimizer에게 index의 상대적'selectivity'에 관한
정보와 어떤 index를 사용해야할 지에 관한 더 좋은 아이디어를 제공해
줄 것입니다.
적절한 선택을 한다면, query의 수행시간을 몇 분, 심지어 몇 시간씩이나
단축시킬 수가 있습니다.
8> Parallel Hash Joins
Release 7.3부터 Oracle 7은 join 처리시간의 단축을 위하여 hash join을
제공합니다. 해슁 테크닉을 사용하면 join을 하기 위해 데이타를 소트하지
않아도 되며, 기존에 존재하는 인덱스를 사용하지 않으면서 'on-the-fly'
라는 개념을 제공합니다. 따라서, star schema 데이타베이스에 전형적으로
적용되는 small-to-large 테이블 join의 수행 속도를 향상시킬 것입니다.
9> Parallel UNION and UNION ALL
Release 7.3부터 Oracle 7은 UNION과 UNION ALL과 같은 set operator를
사용하여 완전히 parallel하게 query를 수행할 수 있습니다. 이러한
operator를 사용하면, 큰 테이블들을 여러 개의 작은 테이블의 집합으로
나누어 처리하기가 훨씬 쉬워질 것입니다.
Example
none
Reference Documents
noneSorry for the confusion!
I'll clear it up right now - I'm currently running 10.7.2 - please disregard SL 10.6.8, that was from the past. I updated to 10.7.3, the new checkmark appeared. I noticed a few other stability issues in 10.7.3, so returned to 10.7.2. As for Mountain Lion - I saw a friend's Mac running ML (I assume he had a Dev account), and noticed the new checkmark as well.
Here's the pictures to show the comparison:
10.7.2 Checkmark
10.7.3/ML Checkmark:
See the difference? My question is, I don't want the new checkmark in 10.7.3. I think, personally, it's hideous and very iOS-like. Is there a way I can "hack" a resource file, or copy over a file from 10.7.2 into 10.7.3 to bring back the original checkmark used in 10.7.2 and all prior versions of OSX? I'm not sure, but it seems like some kind of font is used for the checkmark, but I'm not sure. I'm still a bit new to OSX.
If anyone knows, or has any idea, that would be much appreciated! Again, I know it's a bit nitpicky -
what is the difference between setting optimizer mode in oracle 10g
optimizer_mode=choose
optimizer_mode=all_rowsuser446367 wrote:
what i have to set for the below parameters . any idea ?
optimizer_index_caching
optimizer_index_cost_adjIn general you would leave them set at the default value in 10g (and probably, in most earlier versions, for most cases as well). Even if you were to change them, asking for specific values on an internet forum is rather asking for trouble, it's not dissimilar to asking "what should I set for the parameter processes?" A reasonable value will be application dependent.
The first parameter reduces the cost of some types of indexed access by assuming that only the specified percentage of index i/o actually results in a physical I/O and therefore only that percentage of the io cost is taken into account. By contrast all tablescan access and the other types of indexed access are assumed to be uncached and therefore need costing.
The second parameter just arbitrarily scales indexed access path costings.
You could argue, and some have, that you could calculate a cache hit ratio for index blocks in much the same way as you can calculate a cache hit ratio generally and then set the first parameter to this value. The standout problems with this approach are
1) It applies to all matching statements and objects not just your problem ones.
2) It doesn't necessarily even apply to your problem statements.
3) It doesn't have anything to do with query duration per se, just efficiency of one particular access path.
4) People tend to choose to round costs down and make the likelihood of two plans getting the same cost and being chosen on a tiebreaker basis higher.
The second parameter just asks you how much you like the idea of indexes generally. If you are going to change it pick a family members age or something - it'll make you smile every time you see it.
Niall Litchfield
http://www.orawin.info/ -
Oracle Optimizer Mode Choose / Rule
Hello,
we have a strange behavior with Oracle 9.2
We have a application doing
SELECT to_char(COLUMNNAME)
FROM
VIEW WHERE ROWNUM = 1
This statement needs 75 seconds executed on the server within the application.
call count cpu elapsed disk query current rows
Parse 68 0.01 0.02 1 108 0 0
Execute 136 0.14 0.14 0 0 0 0
Fetch 68 68.74 75.64 119587 181628 2 68
total 272 68.89 75.81 119588 181736 2 68
Misses in library cache during parse: 1
Optimizer goal: CHOOSE
Parsing user id: 25
Rows Row Source Operation
1 COUNT STOPKEY
1 HASH JOIN
524213 TABLE ACCESS FULL TABLEA
6 INDEX FAST FULL SCAN INDEX (object id 7026)
Optimizer mode is CHOOSE and we have generated Statistics.
When we switch to RULE the SQL will perform within millseconds
call count cpu elapsed disk query current rows
Parse 68 0.01 0.00 0 2 0 0
Execute 68 0.00 0.00 0 0 0 0
Fetch 68 0.01 0.05 68 476 0 68
total 204 0.02 0.05 68 478 0 68
Misses in library cache during parse: 1
Optimizer goal: RULE
Parsing user id: 25
Rows Row Source Operation
1 COUNT STOPKEY
1 NESTED LOOPS
1 TABLE ACCESS FULL TABLEA
1 INDEX UNIQUE SCAN INDEX (object id 7026)
Even when executing this statement within SQLPLUS on the server it takes 1 second (even too long but not 70 seconds).
Has anybody a hint where to look ?? I´m really confused.
Kind Regards,
KlausOptimizer mode choose with statistics effectively means ALL_ROWS. So I suspect that this probably is the reason why Oracle uses full scans and hash joins. On the other hand rownum = 1 should give the optimizer info that you only need 1 row back. So probably try with either optimizer_mode = first_rows_1 or hint first_rows(1) and see what happens.
Gints Plivna
http://www.gplivna.eu -
제품 : ORACLE SERVER
작성날짜 : 2002-04-08
EXPORT 와 OPTIMIZER MODE 관계
=============================
PURPOSE
다음은 EXPORT와 OPTIMIZER MODE의 관계에 대해 알아본다.
Explanation
EXPORT시 5 분 걸리던 작업이 init.ora 에 optimizer_mode=first_rows 로
하면 20 시간이 걸리는 현상이 발생된다.
이는 BUG# 391656 이었으며 optimizer_mode 를 first_rows 로 설정후
export시 rows=n 으로 주어도 export time이 굉장히 오래 걸린다는 내용으로
event 10046을 setting후 각 statement path 를 check 해보니 optimezer 가
CDEF$ 와 COL$ table 을 fulle scan 하는 것으로 나타 났다.
이들 table 은 EXU7COLU view 에 의해 실행되고 , 만일 DB 에 constraint가
많고 table comment 가 많다면 많은 시간이 걸려서 이러한 결과가 나타난다.
이 경우는 CDEF$ 와 COL$를 analyze 한다 하더라도 별 도움이 안되고
optimizer_mode=first_rows 를 사용하지 말아야 한다는 것이다.
V7.1.6 에서의 임시 workaround 로
CREATE OR REPLACE view exu7grnu AS
SELECT * from exu7grn WHERE grantorid = UID AND creatorid+0 = UID
CREATE OR REPLACE view exu7cgru AS
SELECT * from exu7cgr WHERE grantorid = UID AND creatorid+0 = UID
CREATE OR REPLACE view exu7spsu(obj#, line, source) AS
SELECT s.obj#, s.line, s.source
FROM sys.source$ s, sys.obj$ o
WHERE s.obj# = o.obj# and o.owner#+0 = UID
처럼 view 를 create 하는 방법이 있다.
Reference Ducuments
--------------------Jim,
Export does run in a background process. There are actually at least 3 processes running.
1. You have the client, which is where you run your expdp/impdp command.
2. You have the MCP processes which is a Data Pump process
3. You have a WORKER processes (or more if you use parallel) that are Data Pump processes.
I always use LINUX, but I think it works the same for Windows. Once you have the job running, you can type a CTL-C and you will get to an IMPDP> or EXPDP> prompt. This allows you to do other commands. One is to exit the client process. You can also stop the job or kill the job. Try it and type HELP at one of those prompts.
At this same prompt, you can type STATUS will will give you some idea on what is being worked on.
Some of the reasons you would want to attach to a job is
1. You previously exited and want to reattach to change something.
2. You left it running while you were in the office and now you are home and want to see the status. (you can have multiple clients attached to the same data pump job.
3. Your job stopped for some reason (power outage, failure, etc.) and you want to restart it.
Hope this helps.
Dean -
Question about BART - mode of the manifest
Good Day,
I have looked into the manifest of the bart generated as follows, get confused about the mode(which is permissions), why there is a prefix (3 bits normally, for example 100, 120, 106) before the permissions (such as 755, 600, 777), what are those bits meaning? Appreciate for any help!
/etc D 3584 40755 user::rwx,group::r-x,mask::r-x,other::r-x, 3c6803d7 0 3
/etc/.login F 524 100644 user::rw-,group::r--,mask::r--,other::r--,
3c165878 0 3 27b53d5c3e844af3306f1f12b330b318
/etc/.pwd.lock F 0 100600 user::rw-,group::---,mask::---,other::---,
3c166121 0 0 d41d8cd98f00b204e9800998ecf8427e
/etc/.syslog_door L 20 120777 user::rw-,group::r--,mask::rwx,other::r--,
3c6803d5 0 0 /var/run/syslog_door
/etc/autopush L 16 120777 user::r-x,group::r-x,mask::r-x,other::r-x,
3c165863 0 0 ../sbin/autopush
/etc/cron.d/FIFO P 0 10600 user::rw-,group::---,mask::---,other::---,
3c6803d5 0 0Simon2k7 wrote:
> But why doesnt DW8 automatically
> insert the mark of the web all the time.
Because it works only when testing the file locally. You
should remove
it before uploading the file to your remote server as it has
no effect
on the way others see your pages.
David Powers, Adobe Community Expert
Author, "Foundation PHP for Dreamweaver 8" (friends of ED)
Author, "PHP Solutions" (friends of ED)
http://foundationphp.com/ -
let me ask you all something about “Append mode” of cs6, cc & cc2014 project file in order to insert multiple xml sequence which is sent from 3rd-party tool into specific project file .
Finalcut pro 7 & x was supported this , but i am not sure will support this on cs6, cc & cc2014 .
is this possible ??
could someone let me know about this - append mode possible or not ??let me ask you all something about “Append mode” of cs6, cc & cc2014 project file in order to insert multiple xml sequence which is sent from 3rd-party tool into specific project file .
Finalcut pro 7 & x was supported this , but i am not sure will support this on cs6, cc & cc2014 .
is this possible ??
could someone let me know about this - append mode possible or not ?? -
Set optimizer mode for someone else possible?
I know that I can use the sys.dbms_system package to set tracing on for another session but cannot figure how to change their optimizer mode - if it's possible at all.
I have tried this -
exec sys.dbms_system.set_bool_param_in_session(20,176,'optimizer_mode=choose',TRUE);
PL/SQL procedure successfully completed.
SQL> show parameter opt
NAME TYPE VALUE
object_cache_optimal_size integer 102400
optimizer_features_enable string 8.1.7
optimizer_index_caching integer 0
optimizer_index_cost_adj integer 100
optimizer_max_permutations integer 80000
optimizer_mode string RULE
optimizer_percent_parallel integer 0
Tried the 'set_int_param_in_session' but 'choose' is not an integer.
Thanks in advance for any help.Hi,
in design center, select "configure" in the context menu of a mapping. Under table operators, select a table and set the extraction hint.
Regards,
Carsten. -
Set optimizer mode for mapping
How can i set the optimizer mode(for example, "all_rows") explicitly for a mapping?
~PrabhaHi,
in design center, select "configure" in the context menu of a mapping. Under table operators, select a table and set the extraction hint.
Regards,
Carsten. -
How can I get the optimizer mode from the database? I've tried by querying the table V$PARAMETER but I get "table or view does not exist" even if verifying in ALL_OBJECTS I see that it's indicated as Owner PUBLIC. Could you help me? Thanks
SQL> connect hr/hr
Connected.
SQL> SHOW PARAMETER OPTIMIZER_MODE
ORA-00942: table or view does not exist
SQL> connect sys/girish as sysdba
Connected.
SQL> SHOW PARAMETER OPTIMIZER_MODE
NAME TYPE VALUE
optimizer_mode string ALL_ROWSGirish Sharma -
Doubts about Hibernation Mode in imac
Hi!
I have some doubts about hibernation modes in my imac.
Some times the hibernation led pulses, sometimes just stays on.
Can anyone explain if there are any diference between this two hibernation modes?
Thanks a lot.
VidalIf it is in hibernation, it should pulse. If the machine has got to the point where the screen has turned off but the computer has not gone to sleep yet, the light will not pulse. Check your energy saver settings in your system preferences.
Some applications can prevent a proper hibernation and while the screen will turn black, the system will not sleep properly and the light will not pulse.
Karn. -
Explain about transparent mode, single mode, multiple context mode
You can explain about the differents of transparent mode, single mode, multiple context mode in ASA 5500? Thank you very much.
Great question. Hope the below helps:
Transparent Mode: In this mode, the ASA will filter traffic without requiring L3 on the ASA. This means that in your config you will not put IPs on the interfaces to be used for traffic filtering. Thus, filtering is transparent to the traffic as the traffic isn't directly routed to the firewall. Think of it like you have a server plugged into a switch. In transparent mode, you place the ASA between the server and the switch and no configuration change is required to the server. In routed mode, you place the ASA in the same physical location between the server and switch, but have to change the server to use the ASA as a default gateway.
Single Mode: Default mode of an ASA. The ASA acts as a single firewall and all interfaces are provisioned to be managed through a single firewall configuration.
Multiple Context Mode: The ASA is split into multiple virtual configurations. With the ASA now virtualized, you provision the physical interfaces on the ASA to the virtual firewall configured. Each context has it's own configuration seperate from the rest of the firewall. Multi-context is meant for enterprises to invest in a single piece of hardware and scale it for use as multiple security devices.
Hope this helps. Let me know if you have anymore questions!
-Mike
http://cs-mars.blogspot.com -
Any documentation about text mode installation
I have been searching the Sun website and other webs for some documentation on text mode installation of Solaris 10 on SPARC machines but have been unable to find anything to this effect. Sun's intallation guide does not discuss text mode intallation. I will be grateful if somebody could point me to a resouce that can guide me running the installation in text mode.
Thanks in advance.I wanted to manually run all the tools andprograms
needed for an installation. For example, insteadof
the installation program prompting me forformating
the drive, I should be doing it by using the tool
needed for the purpose.I'm afraid I don't understand what you mean here.
What "tool" are you expecting to use instead?
Both the GUI and text installers ask the same
questions.... I thought your question had something
to do about the difference between the GUI installer
and the text installer.
I did the interactive insalltion as describedabove
some time ago, and now I want to do it manually.How is "interactive" different from "manually"? To
me they both simply mean that you haven't automated
everything via custom jumpstart.That's right. What I mean from manual installation is to be able to run all the tools (programs) needed for installation yourself giving you a greater flexibility and first-hand feel and knowledge of the operating system instead of let the installation program (script or a program?) do it.
What I meant from interactive installation is the case where installation program automates everything for you.
>
Will
it be done through single user shell? If so, how?No, it's a program (suninstall) that is running.
It's not a shell... but I'm not sure I understand
your question.
(impatiently bumping a post is annoying)I got a response anyway!Creating a properly phrased question is usually more
effective.[Let me admit that I did not phrased my question well. May be because English is not my first language or I am not well aware of Sun terminology].
>
DarrenThanks in advance for any help.
A. -
I want to know critics about Layout Mode
Hi,
I want to know critics of Layout Mode feature in DW. Seems
like a wonder tool to me, and apparently solves many of the
problems i had when laying out pages, all you have to do is drag
and drop tables or cells here and there and add content to them!
Is there any disadvantage or inconvenience with this
approach? Why isn't it the typical workflow in town (CSS seems to
be the dominant approach, despite obvious more steps and workforce
than layout mode).
Thank you in advance for your opinions, i appreciate.Hello,
If the web were static like print media, layout mode would be
fine.
In many graphics applications like Photoshop, you can drag
elements (layers)
around until you get your design exactly how you want it.
Then, you simply save your design in whatever image format
you'd like. All
of the layers are merged into one, static image,
All of the parts have merged into one element, no longer the
multiple parts
you were dragging around.
When a user sees your image, either on a piece of paper or on
their computer
screen, it looks the same to everyone.
Overall, it might be bigger or smaller in whole dependant on
print size or
monitor resolution, but the layout itself can't change.
A web page, unless the page is one giant image, remains
multiple parts after
you publish it and some of these parts the user can change,
such as text
size.
Any area of your design with text in it will look different
on their screens
than on yours, but the images won't change size.
This is how the web works, and this is where layout mode
fails.
As you drag things around in layout mode, DW writes code to
try to keep the
elements exactly where you want them in relation to other
objects.
It merges cells which fills the code with colspans and
rowspans, and it adds
spacer images by the tens or hundreds in an effort to keep
everything "stuck
together" exactly where you dropped the elements.
The more things your drag and drop, the more complex the
code.
When you are done, your layout looks like you want it to on
your screen but
behind it is code that is very fragile and cumbersome.
With this code, if any part of your layout changes size in
someone's browser
(like a text area), everything else in the layout that is so
tightly tied to
it
will be affected as well.
This usually results in things shifting and not lining up any
more, the page
"breaking" and filling up with gaps and misalignments
throughout the page.
The one change ripples throughout the whole page, because
every element is
so tightly connected by the code Layout Mode wrote.
In essence, Layout Mode wrote such stringent and unforgiving
code that your
design will only work reliably at 1 text size and 1 browser
viewport size.
Those sizes are the sizes your browser was set at when you
designed the
page.
Think of it this way.
You have 100 playing cards and you lay them out on a table in
10 rows of 10
columns each.
You make sure all of the edges are touching.
It's a nice, tight layout.
On one of the cards in the center, you write some words in
marker.
If you saved this as an image, it would look the same to
everyone.
A hundred cards with all the edges touching and text written
on one of them.
If someone enlarges the image to read the text on the single
card, all the
other cards grow equally and the layout looks exactly the
same, only bigger.
However, if you saved this as a website and someone enlarges
the text to
read it, only the card with the text gets bigger.
All the others stay the same size. But you wanted all the
edges touching.
You'd like to keep as many cards as neatly arranged as
possible, but layout
mode doesn't care about that.
It's trying to keep every card edge touching, just like you
did when you
dragged and dropped them..
What happens to the neat rows and columns of cards if the
single card with
text on it doubles in size?
Cards all around it move and nothing lines up anymore. Gaps
appear between
every card.
Changing the size of that one piece of the layout ripples
through the rest
of the page because of that really complex, cumbersome code
Layout Mode
wrote. It really wants to keep everything just like you
wanted it, all the
edges touching and it doesn't care what the layout looks
like.
If you had used standard mode instead of layout mode, the
page would be
dynamic in that the elements (the cards) can freely flow in a
logical manner
under different user's settings.
When this single card doubles in size, the group of cards
above wouldn't be
affected. They would stay neatly arranged in rows with all
their edges
touching as would the group of cards below the enlarged card.
You'd keep a nice, neat layout of cards with just one row of
cards in the
center taller than the other rows because of the single
bigger card.
Instead of being filled with gaps and misalignments all over
the place that
Layout Mode's code caused, the page would still look good.
Layout Mode wrote such bad code as it tried to keep a layout
static in a
dynamic environment, that it has been removed from
Dreamweaver.
Here's more very good info, including a graphic example of a
common problem
Layout Mode creates for the unsuspecting....
http://apptools.com/rants/spans.php
There's something arguably as bad as layout mode you should
also stay way
from.
They, too, offer the ease of drag and drop but at a huge
price when you
realize all the troubles and then have to completely rebuild
your site.
Please read this:
http://apptools.com/examples/pagelayout101.php
Particularly, the section entitled "The trouble with layers"
(AP Divs)
Take care,
Tim
"mballom3" <[email protected]> wrote in
message
news:[email protected]...
> Hi,
>
> I want to know critics of Layout Mode feature in DW.
Seems like a wonder
> tool
> to me, and apparently solves many of the problems i had
when laying out
> pages,
> all you have to do is drag and drop tables or cells here
and there and add
> content to them!
>
> Is there any disadvantage or inconvenience with this
approach? Why isn't
> it
> the typical workflow in town (CSS seems to be the
dominant approach,
> despite
> obvious more steps and workforce than layout mode).
>
> Thank you in advance for your opinions, i appreciate.
>
Maybe you are looking for
-
ERRO DE VALIDAÇÃO NO MONITOR DE NFE
Boa tarde, Estamos com alguns erros de validação no monitor de nf-e (J1BNFE), e não conseguimos identificar onde esta o erro. Podem ajudar ? Erro de validação: Campo Region of NF-e Issuer: V09 (Campo B12_CUF) Erro de validação: Campo Modelo da Nota F
-
How do I use an on contract iPhone 5 purchased in the US in India?
I am moving to India for a 6 month work related project in a couple of months and am planning to buy an iPhone 5 on contract here in New York. The contract can be seasonally suspended for 6 months so no issues about breaking the contract. I was decid
-
How do I transfer files from one iMac to another
I have an Intel iMac (2007ish) that has started playing up. I can no longer start the machine but it will start in Target Disk Mode. I have just bought another iMac (brand new 2014), have set it up and was wondering how I now get the files from one
-
this really *****,.I just bought a ipod 5th gen,...it was stolen,..i got it back,..but i am now locked out because of icloud lock,.please help
-
Hi, I am going to buy a iPad2, Apple TV and DigiTech HDMI to VGA/Component and LR Analogue Audio Converter, which I want to connect to my data projector in my classroom. AirPlay on the iPad 2 - http://www.youtube.com/watch?v=10nfcwTHbIA I want to use